\subsection{Undefined predicates, possibly intended to be imported} \label{undef}
\begin{itemize}
\item \ref{V36WhxV95W3} 
\begin{verbatim}
$hx/3
\end{verbatim}

\end{itemize}
\subsection{Unused predicates, possibly intended to be exported} \label{unused}
\begin{itemize}
\item \ref{V35WV95W3} 
\begin{verbatim}
# /3
\end{verbatim}

\item \ref{V35WV42WV95W3} 
\begin{verbatim}
(#*)/3
\end{verbatim}

\item \ref{V35WV43WV95W3} 
\begin{verbatim}
(#+)/3
\end{verbatim}

\item \ref{V35WV45WV95W3} 
\begin{verbatim}
(#-)/3
\end{verbatim}

\item \ref{V35WV58WV95W3} 
\begin{verbatim}
(#:)/3
\end{verbatim}

\item \ref{V35WV60WV95W3} 
\begin{verbatim}
(#<)/3
\end{verbatim}

\item \ref{V35WV61WV95W3} 
\begin{verbatim}
(#=)/3
\end{verbatim}

\item \ref{V35WV62WV95W3} 
\begin{verbatim}
(#>)/3
\end{verbatim}

\item \ref{V35WV63WV95W3} 
\begin{verbatim}
(#?)/3
\end{verbatim}

\item \ref{V36WprocessV95WcatchV95W3} 
\begin{verbatim}
$process_catch/3
\end{verbatim}

\item \ref{V42WV95W3} 
\begin{verbatim}
* /3
\end{verbatim}

\item \ref{V42WV42WV95W3} 
\begin{verbatim}
** /3
\end{verbatim}

\item \ref{V43WV95W2} 
\begin{verbatim}
(+)/2
\end{verbatim}

\item \ref{V43WV43WV95W3} 
\begin{verbatim}
(++)/3
\end{verbatim}

\item \ref{V44WV95W2} 
\begin{verbatim}
(,)/2
\end{verbatim}

\item \ref{V45WV95W2} 
\begin{verbatim}
(-)/2
\end{verbatim}

\item \ref{V45WV62WV95W2} 
\begin{verbatim}
(->)/2
\end{verbatim}

\item \ref{V46WV95W3} 
\begin{verbatim}
(.)/3
\end{verbatim}

\item \ref{V47WV95W3} 
\begin{verbatim}
/ /3
\end{verbatim}

\item \ref{V47WV47WV95W3} 
\begin{verbatim}
// /3
\end{verbatim}

\item \ref{V47WV92WV95W3} 
\begin{verbatim}
/\ /3
\end{verbatim}

\item \ref{V58WV58WV45WV95W2} 
\begin{verbatim}
(::-)/2
\end{verbatim}

\item \ref{V59WV95W2} 
\begin{verbatim}
(;)/2
\end{verbatim}

\item \ref{V60WV60WV95W3} 
\begin{verbatim}
<< /3
\end{verbatim}

\item \ref{V62WV62WV95W3} 
\begin{verbatim}
>> /3
\end{verbatim}

\item \ref{V64WV95W3} 
\begin{verbatim}
@ /3
\end{verbatim}

\item \ref{V64WV60WV95W2} 
\begin{verbatim}
(@<)/2
\end{verbatim}

\item \ref{V64WV61WV60WV95W2} 
\begin{verbatim}
(@=<)/2
\end{verbatim}

\item \ref{V64WV62WV95W2} 
\begin{verbatim}
(@>)/2
\end{verbatim}

\item \ref{V64WV62WV61WV95W2} 
\begin{verbatim}
(@>=)/2
\end{verbatim}

\item \ref{V92WV95W2} 
\begin{verbatim}
\ /2
\end{verbatim}

\item \ref{V92WV43WV95W1} 
\begin{verbatim}
(\+)/1
\end{verbatim}

\item \ref{V92WV47WV95W3} 
\begin{verbatim}
\/ /3
\end{verbatim}

\item \ref{V92WV61WV95W2} 
\begin{verbatim}
(\=)/2
\end{verbatim}

\item \ref{V94WV95W2} 
\begin{verbatim}
^ /2
\end{verbatim}

\item \ref{abolishV95W1} 
\begin{verbatim}
abolish/1
\end{verbatim}

\item \ref{absV95W2} 
\begin{verbatim}
abs/2
\end{verbatim}

\item \ref{abstimeV95W1} 
\begin{verbatim}
abstime/1
\end{verbatim}

\item \ref{acosV95W2} 
\begin{verbatim}
acos/2
\end{verbatim}

\item \ref{allV95W2} 
\begin{verbatim}
all/2
\end{verbatim}

\item \ref{allV95W3} 
\begin{verbatim}
all/3
\end{verbatim}

\item \ref{allV95WanswersV95W3} 
\begin{verbatim}
all_answers/3
\end{verbatim}

\item \ref{allV95WbutV95WatV95WleastV95W4} 
\begin{verbatim}
all_but_at_least/4
\end{verbatim}

\item \ref{allV95WforV95W2} 
\begin{verbatim}
all_for/2
\end{verbatim}

\item \ref{andV95W2} 
\begin{verbatim}
and/2
\end{verbatim}

\item \ref{answerV95WofV95W2} 
\begin{verbatim}
answer_of/2
\end{verbatim}

\item \ref{appendNV95W2} 
\begin{verbatim}
appendN/2
\end{verbatim}

\item \ref{appendV95WconjV95W3} 
\begin{verbatim}
append_conj/3
\end{verbatim}

\item \ref{appendV95WdisjV95W3} 
\begin{verbatim}
append_disj/3
\end{verbatim}

\item \ref{argnV95W3} 
\begin{verbatim}
argn/3
\end{verbatim}

\item \ref{asinV95W2} 
\begin{verbatim}
asin/2
\end{verbatim}

\item \ref{asmV95W0} 
\begin{verbatim}
asm/0
\end{verbatim}

\item \ref{asmV95W1} 
\begin{verbatim}
asm/1
\end{verbatim}

\item \ref{assertV95WfromV95WcharsV95W1} 
\begin{verbatim}
assert_from_chars/1
\end{verbatim}

\item \ref{assertaV95W1} 
\begin{verbatim}
asserta/1
\end{verbatim}

\item \ref{assertedV95W1} 
\begin{verbatim}
asserted/1
\end{verbatim}

\item \ref{atanV95W2} 
\begin{verbatim}
atan/2
\end{verbatim}

\item \ref{atan2V95W3} 
\begin{verbatim}
atan2/3
\end{verbatim}

\item \ref{atomV95WcharsV95W2} 
\begin{verbatim}
atom_chars/2
\end{verbatim}

\item \ref{bagofV95W3} 
\begin{verbatim}
bagof/3
\end{verbatim}

\item \ref{bbV95W0} 
\begin{verbatim}
bb/0
\end{verbatim}

\item \ref{bbV95Wgc0V95W0} 
\begin{verbatim}
bb_gc0/0
\end{verbatim}

\item \ref{bbV95WgetV95W3} 
\begin{verbatim}
bb_get/3
\end{verbatim}

\item \ref{bbgcV95W0} 
\begin{verbatim}
bbgc/0
\end{verbatim}

\item \ref{bpV95WonlyV95W1} 
\begin{verbatim}
bp_only/1
\end{verbatim}

\item \ref{bpV95WvalV95W3} 
\begin{verbatim}
bp_val/3
\end{verbatim}

\item \ref{callV95W1} 
\begin{verbatim}
call/1
\end{verbatim}

\item \ref{callV95W3} 
\begin{verbatim}
call/3
\end{verbatim}

\item \ref{callV95W5} 
\begin{verbatim}
call/5
\end{verbatim}

\item \ref{callV95W6} 
\begin{verbatim}
call/6
\end{verbatim}

\item \ref{callV95W7} 
\begin{verbatim}
call/7
\end{verbatim}

\item \ref{callV95WexternalV95W3} 
\begin{verbatim}
call_external/3
\end{verbatim}

\item \ref{callV95WjinniV95W1} 
\begin{verbatim}
call_jinni/1
\end{verbatim}

\item \ref{catchV95W3} 
\begin{verbatim}
catch/3
\end{verbatim}

\item \ref{cdV95W0} 
\begin{verbatim}
cd/0
\end{verbatim}

\item \ref{cdV95W1} 
\begin{verbatim}
cd/1
\end{verbatim}

\item \ref{ceilingV95W2} 
\begin{verbatim}
ceiling/2
\end{verbatim}

\item \ref{charV95WofV95W2} 
\begin{verbatim}
char_of/2
\end{verbatim}

\item \ref{checkV95WpasswordV95W1} 
\begin{verbatim}
check_password/1
\end{verbatim}

\item \ref{cinV95W1} 
\begin{verbatim}
cin/1
\end{verbatim}

\item \ref{clauseV95WofV95W2} 
\begin{verbatim}
clause_of/2
\end{verbatim}

\item \ref{cleanV95WupV95WdeadV95WenginesV95W0} 
\begin{verbatim}
clean_up_dead_engines/0
\end{verbatim}

\item \ref{cleanV95WupV95WenginesV95W0} 
\begin{verbatim}
clean_up_engines/0
\end{verbatim}

\item \ref{cloneV95WtermV95W3} 
\begin{verbatim}
clone_term/3
\end{verbatim}

\item \ref{closeV95W1} 
\begin{verbatim}
close/1
\end{verbatim}

\item \ref{closeV95WsocketV95W1} 
\begin{verbatim}
close_socket/1
\end{verbatim}

\item \ref{cmakeV95W0} 
\begin{verbatim}
cmake/0
\end{verbatim}

\item \ref{coV95W0} 
\begin{verbatim}
co/0
\end{verbatim}

\item \ref{compareV95W3} 
\begin{verbatim}
compare/3
\end{verbatim}

\item \ref{compileV95W1} 
\begin{verbatim}
compile/1
\end{verbatim}

\item \ref{compoundV95W1} 
\begin{verbatim}
compound/1
\end{verbatim}

\item \ref{computeV95W4} 
\begin{verbatim}
compute/4
\end{verbatim}

\item \ref{cosV95W2} 
\begin{verbatim}
cos/2
\end{verbatim}

\item \ref{countV95WtermsV95W2} 
\begin{verbatim}
count_terms/2
\end{verbatim}

\item \ref{coutV95W1} 
\begin{verbatim}
cout/1
\end{verbatim}

\item \ref{cpopqV95W3} 
\begin{verbatim}
cpopq/3
\end{verbatim}

\item \ref{createV95WnewV95WengineV95W1} 
\begin{verbatim}
create_new_engine/1
\end{verbatim}

\item \ref{currentV95WengineV95W1} 
\begin{verbatim}
current_engine/1
\end{verbatim}

\item \ref{currentV95WoutputV95W1} 
\begin{verbatim}
current_output/1
\end{verbatim}

\item \ref{currentV95WpredicateV95W1} 
\begin{verbatim}
current_predicate/1
\end{verbatim}

\item \ref{currentV95WthreadV95W1} 
\begin{verbatim}
current_thread/1
\end{verbatim}

\item \ref{cwriteV95W1} 
\begin{verbatim}
cwrite/1
\end{verbatim}

\item \ref{dbV95WassertV95W2} 
\begin{verbatim}
db_assert/2
\end{verbatim}

\item \ref{dbV95WassertedV95W2} 
\begin{verbatim}
db_asserted/2
\end{verbatim}

\item \ref{dbV95WcleanV95W0} 
\begin{verbatim}
db_clean/0
\end{verbatim}

\item \ref{dbV95WisV95WdynamicV95W2} 
\begin{verbatim}
db_is_dynamic/2
\end{verbatim}

\item \ref{dbV95WlistingV95W1} 
\begin{verbatim}
db_listing/1
\end{verbatim}

\item \ref{dbV95WlistingV95W2} 
\begin{verbatim}
db_listing/2
\end{verbatim}

\item \ref{dcgV95WcallV95W5} 
\begin{verbatim}
dcg_call/5
\end{verbatim}

\item \ref{dcgV95WconnectV95W1} 
\begin{verbatim}
dcg_connect/1
\end{verbatim}

\item \ref{dcgV95WdefV95W1} 
\begin{verbatim}
dcg_def/1
\end{verbatim}

\item \ref{dcgV95WtellV95W1} 
\begin{verbatim}
dcg_tell/1
\end{verbatim}

\item \ref{dcgV95WtellingV95W1} 
\begin{verbatim}
dcg_telling/1
\end{verbatim}

\item \ref{dcgV95WvalV95W1} 
\begin{verbatim}
dcg_val/1
\end{verbatim}

\item \ref{dconsultV95W1} 
\begin{verbatim}
dconsult/1
\end{verbatim}

\item \ref{defaultV95WloginV95W1} 
\begin{verbatim}
default_login/1
\end{verbatim}

\item \ref{defaultV95WthisV95WhostV95W1} 
\begin{verbatim}
default_this_host/1
\end{verbatim}

\item \ref{deleteV95WallV95WtermsV95W1} 
\begin{verbatim}
delete_all_terms/1
\end{verbatim}

\item \ref{destroyV95WarrayV95W1} 
\begin{verbatim}
destroy_array/1
\end{verbatim}

\item \ref{detV95WcallV95W1} 
\begin{verbatim}
det_call/1
\end{verbatim}

\item \ref{detectV95WipV95WaddrV95W1} 
\begin{verbatim}
detect_ip_addr/1
\end{verbatim}

\item \ref{detectV95WuserV95W1} 
\begin{verbatim}
detect_user/1
\end{verbatim}

\item \ref{dirV95W0} 
\begin{verbatim}
dir/0
\end{verbatim}

\item \ref{dir2dirsV95W2} 
\begin{verbatim}
dir2dirs/2
\end{verbatim}

\item \ref{dir2filesV95W2} 
\begin{verbatim}
dir2files/2
\end{verbatim}

\item \ref{discontiguousV95W1} 
\begin{verbatim}
(discontiguous)/1
\end{verbatim}

\item \ref{displayV95W1} 
\begin{verbatim}
display/1
\end{verbatim}

\item \ref{dyn2statV95W1} 
\begin{verbatim}
dyn2stat/1
\end{verbatim}

\item \ref{dynamicV95W1} 
\begin{verbatim}
(dynamic)/1
\end{verbatim}

\item \ref{dynbbgcV95W0} 
\begin{verbatim}
dynbbgc/0
\end{verbatim}

\item \ref{edV95W0} 
\begin{verbatim}
ed/0
\end{verbatim}

\item \ref{editV95W0} 
\begin{verbatim}
edit/0
\end{verbatim}

\item \ref{editV95W2} 
\begin{verbatim}
edit/2
\end{verbatim}

\item \ref{elementV95WofV95W2} 
\begin{verbatim}
element_of/2
\end{verbatim}

\item \ref{emacsV95W0} 
\begin{verbatim}
emacs/0
\end{verbatim}

\item \ref{endV95WmoduleV95W1} 
\begin{verbatim}
end_module/1
\end{verbatim}

\item \ref{endV95WofV95WfileV95W0} 
\begin{verbatim}
end_of_file/0
\end{verbatim}

\item \ref{eqV95W2} 
\begin{verbatim}
eq/2
\end{verbatim}

\item \ref{exitV95W0} 
\begin{verbatim}
exit/0
\end{verbatim}

\item \ref{expV95W2} 
\begin{verbatim}
exp/2
\end{verbatim}

\item \ref{expandV95WtermV95W2} 
\begin{verbatim}
expand_term/2
\end{verbatim}

\item \ref{falseV95W0} 
\begin{verbatim}
false/0
\end{verbatim}

\item \ref{fcallV95W3} 
\begin{verbatim}
fcall/3
\end{verbatim}

\item \ref{fcompileV95W1} 
\begin{verbatim}
fcompile/1
\end{verbatim}

\item \ref{file2charsV95W2} 
\begin{verbatim}
file2chars/2
\end{verbatim}

\item \ref{file2sockV95W2} 
\begin{verbatim}
file2sock/2
\end{verbatim}

\item \ref{fileV95WsizeV95W2} 
\begin{verbatim}
file_size/2
\end{verbatim}

\item \ref{findV95WwhileV95W4} 
\begin{verbatim}
find_while/4
\end{verbatim}

\item \ref{findallV95W3} 
\begin{verbatim}
findall/3
\end{verbatim}

\item \ref{floatV95W2} 
\begin{verbatim}
float/2
\end{verbatim}

\item \ref{floorV95W2} 
\begin{verbatim}
floor/2
\end{verbatim}

\item \ref{flushV95WoutputV95W0} 
\begin{verbatim}
flush_output/0
\end{verbatim}

\item \ref{flushV95WoutputV95W1} 
\begin{verbatim}
flush_output/1
\end{verbatim}

\item \ref{foldrV95W4} 
\begin{verbatim}
foldr/4
\end{verbatim}

\item \ref{forV95WallV95W2} 
\begin{verbatim}
for_all/2
\end{verbatim}

\item \ref{forallV95W1} 
\begin{verbatim}
forall/1
\end{verbatim}

\item \ref{forallV95W2} 
\begin{verbatim}
forall/2
\end{verbatim}

\item \ref{foreachV95W1} 
\begin{verbatim}
foreach/1
\end{verbatim}

\item \ref{freeV95WtermV95W1} 
\begin{verbatim}
free_term/1
\end{verbatim}

\item \ref{freeV95WthreadV95WguardV95W1} 
\begin{verbatim}
free_thread_guard/1
\end{verbatim}

\item \ref{fromV95WengineV95W1} 
\begin{verbatim}
from_engine/1
\end{verbatim}

\item \ref{garbageV95WcollectV95W0} 
\begin{verbatim}
garbage_collect/0
\end{verbatim}

\item \ref{gcV95W0} 
\begin{verbatim}
gc/0
\end{verbatim}

\item \ref{gcV95WcallV95W1} 
\begin{verbatim}
gc_call/1
\end{verbatim}

\item \ref{gcV95WstatusV95W1} 
\begin{verbatim}
gc_status/1
\end{verbatim}

\item \ref{genericV95WwriteV95W1} 
\begin{verbatim}
generic_write/1
\end{verbatim}

\item \ref{getV95W1} 
\begin{verbatim}
get/1
\end{verbatim}

\item \ref{getV95W2} 
\begin{verbatim}
get/2
\end{verbatim}

\item \ref{getV95WallV95WtermsV95W2} 
\begin{verbatim}
get_all_terms/2
\end{verbatim}

\item \ref{getV95WcharV95W2} 
\begin{verbatim}
get_char/2
\end{verbatim}

\item \ref{getV95WcriticalV95W2} 
\begin{verbatim}
get_critical/2
\end{verbatim}

\item \ref{getV95WdeepV95WcutV95W2} 
\begin{verbatim}
get_deep_cut/2
\end{verbatim}

\item \ref{getV95WloadV95WmethodV95W1} 
\begin{verbatim}
get_load_method/1
\end{verbatim}

\item \ref{getV95WneckV95WcutV95W1} 
\begin{verbatim}
get_neck_cut/1
\end{verbatim}

\item \ref{getV95WnextV95WtermV95W2} 
\begin{verbatim}
get_next_term/2
\end{verbatim}

\item \ref{getV95WpasswordV95W1} 
\begin{verbatim}
get_password/1
\end{verbatim}

\item \ref{getV95WtermV95W2} 
\begin{verbatim}
get_term/2
\end{verbatim}

\item \ref{globalV95WgetV95W3} 
\begin{verbatim}
global_get/3
\end{verbatim}

\item \ref{globalV95WrmV95W2} 
\begin{verbatim}
global_rm/2
\end{verbatim}

\item \ref{globalV95WsetV95W3} 
\begin{verbatim}
global_set/3
\end{verbatim}

\item \ref{handleV95WserviceV95W2} 
\begin{verbatim}
handle_service/2
\end{verbatim}

\item \ref{hasV95WtermsV95W1} 
\begin{verbatim}
has_terms/1
\end{verbatim}

\item \ref{hashV95WclearV95W1} 
\begin{verbatim}
hash_clear/1
\end{verbatim}

\item \ref{hashV95WclearV95W2} 
\begin{verbatim}
hash_clear/2
\end{verbatim}

\item \ref{hashV95WcompileV95W0} 
\begin{verbatim}
hash_compile/0
\end{verbatim}

\item \ref{hashV95WfindV95WuniqueV95W3} 
\begin{verbatim}
hash_find_unique/3
\end{verbatim}

\item \ref{hashV95WgcV95W0} 
\begin{verbatim}
hash_gc/0
\end{verbatim}

\item \ref{hashV95WloadV95W1} 
\begin{verbatim}
hash_load/1
\end{verbatim}

\item \ref{hashV95WpushV95W2} 
\begin{verbatim}
hash_push/2
\end{verbatim}

\item \ref{hashV95WputV95W2} 
\begin{verbatim}
hash_put/2
\end{verbatim}

\item \ref{hashV95WrmV95W2} 
\begin{verbatim}
hash_rm/2
\end{verbatim}

\item \ref{hashV95WrmV95WoneV95W2} 
\begin{verbatim}
hash_rm_one/2
\end{verbatim}

\item \ref{hashV95WsaveV95W1} 
\begin{verbatim}
hash_save/1
\end{verbatim}

\item \ref{hashV95WtraceV95W2} 
\begin{verbatim}
hash_trace/2
\end{verbatim}

\item \ref{helpV95W0} 
\begin{verbatim}
help/0
\end{verbatim}

\item \ref{helpV95W1} 
\begin{verbatim}
help/1
\end{verbatim}

\item \ref{hkeyV95W2} 
\begin{verbatim}
hkey/2
\end{verbatim}

\item \ref{host2ipV95W2} 
\begin{verbatim}
host2ip/2
\end{verbatim}

\item \ref{hostnameV95W1} 
\begin{verbatim}
hostname/1
\end{verbatim}

\item \ref{hypotV95W3} 
\begin{verbatim}
hypot/3
\end{verbatim}

\item \ref{ifV95WanyV95W3} 
\begin{verbatim}
if_any/3
\end{verbatim}

\item \ref{inV95W1} 
\begin{verbatim}
in/1
\end{verbatim}

\item \ref{infoV95W0} 
\begin{verbatim}
info/0
\end{verbatim}

\item \ref{instanceV95WofV95W2} 
\begin{verbatim}
instance_of/2
\end{verbatim}

\item \ref{interactiveV95W1} 
\begin{verbatim}
interactive/1
\end{verbatim}

\item \ref{isV95WanV95W1} 
\begin{verbatim}
is_an/1
\end{verbatim}

\item \ref{isV95WdiscontiguousV95W1} 
\begin{verbatim}
is_discontiguous/1
\end{verbatim}

\item \ref{isV95WengineV95W1} 
\begin{verbatim}
is_engine/1
\end{verbatim}

\item \ref{isV95WmajV95W1} 
\begin{verbatim}
is_maj/1
\end{verbatim}

\item \ref{isV95WminV95W1} 
\begin{verbatim}
is_min/1
\end{verbatim}

\item \ref{isV95WnumV95W1} 
\begin{verbatim}
is_num/1
\end{verbatim}

\item \ref{isV95WpublicV95W1} 
\begin{verbatim}
is_public/1
\end{verbatim}

\item \ref{isV95WspecV95W1} 
\begin{verbatim}
is_spec/1
\end{verbatim}

\item \ref{isV95WterminatorV95W1} 
\begin{verbatim}
is_terminator/1
\end{verbatim}

\item \ref{listV95WenginesV95W0} 
\begin{verbatim}
list_engines/0
\end{verbatim}

\item \ref{listifyV95W2} 
\begin{verbatim}
listify/2
\end{verbatim}

\item \ref{listingV95W0} 
\begin{verbatim}
listing/0
\end{verbatim}

\item \ref{listingV95W1} 
\begin{verbatim}
listing/1
\end{verbatim}

\item \ref{loadV95W1} 
\begin{verbatim}
load/1
\end{verbatim}

\item \ref{localV95WwhenV95W1} 
\begin{verbatim}
local_when/1
\end{verbatim}

\item \ref{logV95W2} 
\begin{verbatim}
log/2
\end{verbatim}

\item \ref{logV95W3} 
\begin{verbatim}
log/3
\end{verbatim}

\item \ref{lsV95W0} 
\begin{verbatim}
ls/0
\end{verbatim}

\item \ref{ls2listV95W2} 
\begin{verbatim}
ls2list/2
\end{verbatim}

\item \ref{lvalV95W3} 
\begin{verbatim}
lval/3
\end{verbatim}

\item \ref{makeV95WarrayV95W2} 
\begin{verbatim}
make_array/2
\end{verbatim}

\item \ref{makeV95WcompileableV95W2} 
\begin{verbatim}
make_compileable/2
\end{verbatim}

\item \ref{makeV95WspacedV95WcmdV95W2} 
\begin{verbatim}
make_spaced_cmd/2
\end{verbatim}

\item \ref{mapV95W2} 
\begin{verbatim}
map/2
\end{verbatim}

\item \ref{mapV95W3} 
\begin{verbatim}
map/3
\end{verbatim}

\item \ref{mapV95WgcV95W1} 
\begin{verbatim}
map_gc/1
\end{verbatim}

\item \ref{mapV95WnewV95W1} 
\begin{verbatim}
map_new/1
\end{verbatim}

\item \ref{mapV95WshowV95W1} 
\begin{verbatim}
map_show/1
\end{verbatim}

\item \ref{mapsV95WcleanV95W0} 
\begin{verbatim}
maps_clean/0
\end{verbatim}

\item \ref{mapsV95WgcV95W0} 
\begin{verbatim}
maps_gc/0
\end{verbatim}

\item \ref{mapsV95WiterateV95W1} 
\begin{verbatim}
maps_iterate/1
\end{verbatim}

\item \ref{mapsV95WshowV95W0} 
\begin{verbatim}
maps_show/0
\end{verbatim}

\item \ref{matchV95WbeforeV95W4} 
\begin{verbatim}
match_before/4
\end{verbatim}

\item \ref{maxV95W3} 
\begin{verbatim}
max/3
\end{verbatim}

\item \ref{memberchkV95W2} 
\begin{verbatim}
memberchk/2
\end{verbatim}

\item \ref{minV95W3} 
\begin{verbatim}
min/3
\end{verbatim}

\item \ref{mmapV95WnewV95W1} 
\begin{verbatim}
mmap_new/1
\end{verbatim}

\item \ref{mmapV95WputV95W3} 
\begin{verbatim}
mmap_put/3
\end{verbatim}

\item \ref{mmapV95WrmV95WallV95W2} 
\begin{verbatim}
mmap_rm_all/2
\end{verbatim}

\item \ref{mmapV95WrmV95WoneV95W3} 
\begin{verbatim}
mmap_rm_one/3
\end{verbatim}

\item \ref{mmapV95WshowV95W1} 
\begin{verbatim}
mmap_show/1
\end{verbatim}

\item \ref{mmapsV95WcleanV95W0} 
\begin{verbatim}
mmaps_clean/0
\end{verbatim}

\item \ref{mmapsV95WgcV95W0} 
\begin{verbatim}
mmaps_gc/0
\end{verbatim}

\item \ref{mmapsV95WiterateV95W1} 
\begin{verbatim}
mmaps_iterate/1
\end{verbatim}

\item \ref{mmapsV95WshowV95W0} 
\begin{verbatim}
mmaps_show/0
\end{verbatim}

\item \ref{modV95W3} 
\begin{verbatim}
mod/3
\end{verbatim}

\item \ref{modeV95W1} 
\begin{verbatim}
(mode)/1
\end{verbatim}

\item \ref{moduleV95W2} 
\begin{verbatim}
(module)/2
\end{verbatim}

\item \ref{modulesV95W1} 
\begin{verbatim}
modules/1
\end{verbatim}

\item \ref{msortV95W2} 
\begin{verbatim}
msort/2
\end{verbatim}

\item \ref{newV95WbuiltinV95W3} 
\begin{verbatim}
new_builtin/3
\end{verbatim}

\item \ref{newV95WengineV95W3} 
\begin{verbatim}
new_engine/3
\end{verbatim}

\item \ref{newV95WkeyV95WiteratorV95W1} 
\begin{verbatim}
new_key_iterator/1
\end{verbatim}

\item \ref{newV95WnameV95W2} 
\begin{verbatim}
new_name/2
\end{verbatim}

\item \ref{newV95WtermV95W2} 
\begin{verbatim}
new_term/2
\end{verbatim}

\item \ref{newV95WthreadV95WguardV95W1} 
\begin{verbatim}
new_thread_guard/1
\end{verbatim}

\item \ref{nobbgcV95W0} 
\begin{verbatim}
nobbgc/0
\end{verbatim}

\item \ref{nogcV95W0} 
\begin{verbatim}
nogc/0
\end{verbatim}

\item \ref{notV95W1} 
\begin{verbatim}
(not)/1
\end{verbatim}

\item \ref{notepadV95W0} 
\begin{verbatim}
notepad/0
\end{verbatim}

\item \ref{notifyV95WaboutV95W1} 
\begin{verbatim}
notify_about/1
\end{verbatim}

\item \ref{notraceV95W0} 
\begin{verbatim}
notrace/0
\end{verbatim}

\item \ref{nthV95WanswerV95W2} 
\begin{verbatim}
nth_answer/2
\end{verbatim}

\item \ref{nthV95WmemberV95W3} 
\begin{verbatim}
nth_member/3
\end{verbatim}

\item \ref{numberV95WcharsV95W2} 
\begin{verbatim}
number_chars/2
\end{verbatim}

\item \ref{oconsultV95W1} 
\begin{verbatim}
oconsult/1
\end{verbatim}

\item \ref{olderV95WfileV95W2} 
\begin{verbatim}
older_file/2
\end{verbatim}

\item \ref{oneV95W4} 
\begin{verbatim}
one/4
\end{verbatim}

\item \ref{opV95W3} 
\begin{verbatim}
op/3
\end{verbatim}

\item \ref{openV95W3} 
\begin{verbatim}
open/3
\end{verbatim}

\item \ref{otherwiseV95W0} 
\begin{verbatim}
otherwise/0
\end{verbatim}

\item \ref{otimeV95W1} 
\begin{verbatim}
otime/1
\end{verbatim}

\item \ref{outV95W1} 
\begin{verbatim}
out/1
\end{verbatim}

\item \ref{overrideV95W3} 
\begin{verbatim}
override/3
\end{verbatim}

\item \ref{peerV95WaddrV95W2} 
\begin{verbatim}
peer_addr/2
\end{verbatim}

\item \ref{peerV95WportV95W2} 
\begin{verbatim}
peer_port/2
\end{verbatim}

\item \ref{phraseV95W2} 
\begin{verbatim}
phrase/2
\end{verbatim}

\item \ref{picoV95W0} 
\begin{verbatim}
pico/0
\end{verbatim}

\item \ref{plusV95W4} 
\begin{verbatim}
plus/4
\end{verbatim}

\item \ref{powV95W3} 
\begin{verbatim}
pow/3
\end{verbatim}

\item \ref{ppV95WtermV95W1} 
\begin{verbatim}
pp_term/1
\end{verbatim}

\item \ref{printV95W1} 
\begin{verbatim}
print/1
\end{verbatim}

\item \ref{processV95WtermV95W3} 
\begin{verbatim}
process_term/3
\end{verbatim}

\item \ref{prodV95W2} 
\begin{verbatim}
prod/2
\end{verbatim}

\item \ref{profileV95W0} 
\begin{verbatim}
profile/0
\end{verbatim}

\item \ref{prologV95WflagV95W2} 
\begin{verbatim}
prolog_flag/2
\end{verbatim}

\item \ref{prologV95WinitV95W1} 
\begin{verbatim}
prolog_init/1
\end{verbatim}

\item \ref{prologV95WloadV95W1} 
\begin{verbatim}
prolog_load/1
\end{verbatim}

\item \ref{prologV95WrunV95W1} 
\begin{verbatim}
prolog_run/1
\end{verbatim}

\item \ref{pushV95WtermV95W2} 
\begin{verbatim}
push_term/2
\end{verbatim}

\item \ref{putV95WcharV95W2} 
\begin{verbatim}
put_char/2
\end{verbatim}

\item \ref{putV95WcriticalV95W2} 
\begin{verbatim}
put_critical/2
\end{verbatim}

\item \ref{putV95WtermV95W2} 
\begin{verbatim}
put_term/2
\end{verbatim}

\item \ref{pwdV95W0} 
\begin{verbatim}
pwd/0
\end{verbatim}

\item \ref{pwdV95W1} 
\begin{verbatim}
pwd/1
\end{verbatim}

\item \ref{qcompileV95W1} 
\begin{verbatim}
qcompile/1
\end{verbatim}

\item \ref{qfindallV95W4} 
\begin{verbatim}
qfindall/4
\end{verbatim}

\item \ref{qmakeV95W1} 
\begin{verbatim}
qmake/1
\end{verbatim}

\item \ref{quietmesV95W1} 
\begin{verbatim}
quietmes/1
\end{verbatim}

\item \ref{quitV95W0} 
\begin{verbatim}
quit/0
\end{verbatim}

\item \ref{randomV95W1} 
\begin{verbatim}
random/1
\end{verbatim}

\item \ref{randomV95WseedV95W1} 
\begin{verbatim}
random_seed/1
\end{verbatim}

\item \ref{rdV95W1} 
\begin{verbatim}
rd/1
\end{verbatim}

\item \ref{readV95WlineV95W1} 
\begin{verbatim}
read_line/1
\end{verbatim}

\item \ref{readV95WtermV95W2} 
\begin{verbatim}
read_term/2
\end{verbatim}

\item \ref{readV95WtermV95WfromV95WcharsV95W2} 
\begin{verbatim}
read_term_from_chars/2
\end{verbatim}

\item \ref{readV95WtermsV95WfromV95WcharsV95W2} 
\begin{verbatim}
read_terms_from_chars/2
\end{verbatim}

\item \ref{readV95WwordsV95W1} 
\begin{verbatim}
read_words/1
\end{verbatim}

\item \ref{rebootV95W0} 
\begin{verbatim}
reboot/0
\end{verbatim}

\item \ref{remoteV95WrunV95W1} 
\begin{verbatim}
remote_run/1
\end{verbatim}

\item \ref{removeV95WcurrentV95WtermV95W1} 
\begin{verbatim}
remove_current_term/1
\end{verbatim}

\item \ref{restartV95W0} 
\begin{verbatim}
restart/0
\end{verbatim}

\item \ref{retractV95W1} 
\begin{verbatim}
retract/1
\end{verbatim}

\item \ref{retract1V95W1} 
\begin{verbatim}
retract1/1
\end{verbatim}

\item \ref{returnV95W1} 
\begin{verbatim}
return/1
\end{verbatim}

\item \ref{reverseV95W2} 
\begin{verbatim}
reverse/2
\end{verbatim}

\item \ref{roundV95W2} 
\begin{verbatim}
round/2
\end{verbatim}

\item \ref{rpcV95WserverV95W0} 
\begin{verbatim}
rpc_server/0
\end{verbatim}

\item \ref{rpcV95WtestV95W0} 
\begin{verbatim}
rpc_test/0
\end{verbatim}

\item \ref{runV95WserverV95W0} 
\begin{verbatim}
run_server/0
\end{verbatim}

\item \ref{scompileV95W1} 
\begin{verbatim}
scompile/1
\end{verbatim}

\item \ref{sconsultV95W1} 
\begin{verbatim}
sconsult/1
\end{verbatim}

\item \ref{seeV95WatV95W1} 
\begin{verbatim}
see_at/1
\end{verbatim}

\item \ref{seeingV95WatV95W1} 
\begin{verbatim}
seeing_at/1
\end{verbatim}

\item \ref{sentenceV95WofV95W2} 
\begin{verbatim}
sentence_of/2
\end{verbatim}

\item \ref{serviceV95WloopV95W2} 
\begin{verbatim}
service_loop/2
\end{verbatim}

\item \ref{setV95WcV95WthresholdV95W1} 
\begin{verbatim}
set_c_threshold/1
\end{verbatim}

\item \ref{setV95WhashV95WmaxV95W1} 
\begin{verbatim}
set_hash_max/1
\end{verbatim}

\item \ref{setV95WhostV95W1} 
\begin{verbatim}
set_host/1
\end{verbatim}

\item \ref{setV95WloadV95WmethodV95W1} 
\begin{verbatim}
set_load_method/1
\end{verbatim}

\item \ref{setV95WloginV95W1} 
\begin{verbatim}
set_login/1
\end{verbatim}

\item \ref{setV95WoutputV95W1} 
\begin{verbatim}
set_output/1
\end{verbatim}

\item \ref{setV95WpasswordV95W1} 
\begin{verbatim}
set_password/1
\end{verbatim}

\item \ref{setV95WportV95W1} 
\begin{verbatim}
set_port/1
\end{verbatim}

\item \ref{setV95WprologV95WflagV95W2} 
\begin{verbatim}
set_prolog_flag/2
\end{verbatim}

\item \ref{setV95WthisV95WhostV95W1} 
\begin{verbatim}
set_this_host/1
\end{verbatim}

\item \ref{setV95WthisV95WportV95W1} 
\begin{verbatim}
set_this_port/1
\end{verbatim}

\item \ref{setV95WtimeoutV95W1} 
\begin{verbatim}
set_timeout/1
\end{verbatim}

\item \ref{setargV95W3} 
\begin{verbatim}
setarg/3
\end{verbatim}

\item \ref{setofV95W3} 
\begin{verbatim}
setof/3
\end{verbatim}

\item \ref{shellV95W1} 
\begin{verbatim}
shell/1
\end{verbatim}

\item \ref{showV95WdefaultsV95W0} 
\begin{verbatim}
show_defaults/0
\end{verbatim}

\item \ref{showV95WengineV95W0} 
\begin{verbatim}
show_engine/0
\end{verbatim}

\item \ref{showV95WinfoV95W2} 
\begin{verbatim}
show_info/2
\end{verbatim}

\item \ref{signV95W2} 
\begin{verbatim}
sign/2
\end{verbatim}

\item \ref{sinV95W2} 
\begin{verbatim}
sin/2
\end{verbatim}

\item \ref{sock2fileV95W2} 
\begin{verbatim}
sock2file/2
\end{verbatim}

\item \ref{sockV95WreadV95W2} 
\begin{verbatim}
sock_read/2
\end{verbatim}

\item \ref{sockV95WreadlnV95W2} 
\begin{verbatim}
sock_readln/2
\end{verbatim}

\item \ref{sockV95WwriteV95W2} 
\begin{verbatim}
sock_write/2
\end{verbatim}

\item \ref{sockV95WwritelnV95W2} 
\begin{verbatim}
sock_writeln/2
\end{verbatim}

\item \ref{solutionsV95W2} 
\begin{verbatim}
solutions/2
\end{verbatim}

\item \ref{spawnV95W1} 
\begin{verbatim}
spawn/1
\end{verbatim}

\item \ref{spyingV95W1} 
\begin{verbatim}
spying/1
\end{verbatim}

\item \ref{sqrtV95W2} 
\begin{verbatim}
sqrt/2
\end{verbatim}

\item \ref{statV95W0} 
\begin{verbatim}
stat/0
\end{verbatim}

\item \ref{stat2dynV95W1} 
\begin{verbatim}
stat2dyn/1
\end{verbatim}

\item \ref{staticV95WprologV95WflagV95W2} 
\begin{verbatim}
static_prolog_flag/2
\end{verbatim}

\item \ref{stopV95W0} 
\begin{verbatim}
stop/0
\end{verbatim}

\item \ref{stopV95W1} 
\begin{verbatim}
stop/1
\end{verbatim}

\item \ref{stopV95WserviceV95W0} 
\begin{verbatim}
stop_service/0
\end{verbatim}

\item \ref{sumV95W2} 
\begin{verbatim}
sum/2
\end{verbatim}

\item \ref{swriteV95W2} 
\begin{verbatim}
swrite/2
\end{verbatim}

\item \ref{swriteV95W3} 
\begin{verbatim}
swrite/3
\end{verbatim}

\item \ref{tabV95W1} 
\begin{verbatim}
tab/1
\end{verbatim}

\item \ref{tanV95W2} 
\begin{verbatim}
tan/2
\end{verbatim}

\item \ref{tellV95WatV95W1} 
\begin{verbatim}
tell_at/1
\end{verbatim}

\item \ref{tellV95WatV95WendV95W1} 
\begin{verbatim}
tell_at_end/1
\end{verbatim}

\item \ref{tellingV95WatV95W1} 
\begin{verbatim}
telling_at/1
\end{verbatim}

\item \ref{termV95WhashV95W2} 
\begin{verbatim}
term_hash/2
\end{verbatim}

\item \ref{texteditV95W0} 
\begin{verbatim}
textedit/0
\end{verbatim}

\item \ref{theV95W1} 
\begin{verbatim}
the/1
\end{verbatim}

\item \ref{thisV95WdbV95W1} 
\begin{verbatim}
this_db/1
\end{verbatim}

\item \ref{threadV95WcancelV95W1} 
\begin{verbatim}
thread_cancel/1
\end{verbatim}

\item \ref{threadV95WexitV95W0} 
\begin{verbatim}
thread_exit/0
\end{verbatim}

\item \ref{threadV95WjoinV95W1} 
\begin{verbatim}
thread_join/1
\end{verbatim}

\item \ref{threadV95WnotifyV95W1} 
\begin{verbatim}
thread_notify/1
\end{verbatim}

\item \ref{threadV95WnotifyV95WallV95W1} 
\begin{verbatim}
thread_notify_all/1
\end{verbatim}

\item \ref{threadV95WwaitV95W1} 
\begin{verbatim}
thread_wait/1
\end{verbatim}

\item \ref{throwV95W1} 
\begin{verbatim}
throw/1
\end{verbatim}

\item \ref{timedV95WcallV95W4} 
\begin{verbatim}
timed_call/4
\end{verbatim}

\item \ref{toV95WengineV95W2} 
\begin{verbatim}
to_engine/2
\end{verbatim}

\item \ref{toV95WstringV95W2} 
\begin{verbatim}
to_string/2
\end{verbatim}

\item \ref{toV95WtokensV95W2} 
\begin{verbatim}
to_tokens/2
\end{verbatim}

\item \ref{tokensV95WofV95W2} 
\begin{verbatim}
tokens_of/2
\end{verbatim}

\item \ref{toplevelV95W0} 
\begin{verbatim}
toplevel/0
\end{verbatim}

\item \ref{traceV95W0} 
\begin{verbatim}
trace/0
\end{verbatim}

\item \ref{traceV95W1} 
\begin{verbatim}
trace/1
\end{verbatim}

\item \ref{trimV95WtermV95W4} 
\begin{verbatim}
trim_term/4
\end{verbatim}

\item \ref{truncateV95W2} 
\begin{verbatim}
truncate/2
\end{verbatim}

\item \ref{tryV95WunlockV95WthreadV95WguardV95W1} 
\begin{verbatim}
try_unlock_thread_guard/1
\end{verbatim}

\item \ref{tstestV95W3} 
\begin{verbatim}
tstest/3
\end{verbatim}

\item \ref{tsyncV95WopV95W3} 
\begin{verbatim}
tsync_op/3
\end{verbatim}

\item \ref{unixV95W1} 
\begin{verbatim}
unix/1
\end{verbatim}

\item \ref{updateV95WcurrentV95WtermV95W2} 
\begin{verbatim}
update_current_term/2
\end{verbatim}

\item \ref{variantV95WofV95W2} 
\begin{verbatim}
variant_of/2
\end{verbatim}

\item \ref{varsV95WofV95W2} 
\begin{verbatim}
vars_of/2
\end{verbatim}

\item \ref{vgetV95W2} 
\begin{verbatim}
vget/2
\end{verbatim}

\item \ref{viV95W0} 
\begin{verbatim}
vi/0
\end{verbatim}

\item \ref{waitV95WforV95W2} 
\begin{verbatim}
wait_for/2
\end{verbatim}

\item \ref{writeV95WtermV95WtoV95WcharsV95W2} 
\begin{verbatim}
write_term_to_chars/2
\end{verbatim}

\item \ref{writeV95WwordsV95W1} 
\begin{verbatim}
write_words/1
\end{verbatim}

\item \ref{writeqV95W1} 
\begin{verbatim}
writeq/1
\end{verbatim}

\item \ref{xV95WgcV95W0} 
\begin{verbatim}
x_gc/0
\end{verbatim}

\item \ref{xV95WprofileV95W0} 
\begin{verbatim}
x_profile/0
\end{verbatim}

\item \ref{xV95WtraceV95W1} 
\begin{verbatim}
x_trace/1
\end{verbatim}

\item \ref{xV95WtraceV95W2} 
\begin{verbatim}
x_trace/2
\end{verbatim}

\item \ref{xloadV95W1} 
\begin{verbatim}
xload/1
\end{verbatim}

\item \ref{xsaveV95W1} 
\begin{verbatim}
xsave/1
\end{verbatim}

\item \ref{V126WV95W1} 
\begin{verbatim}
~ /1
\end{verbatim}

\end{itemize}
\subsection{Cross reference and info on predicates} \label{bppreds}

\subsubsection{Predicate:} \label{V35WV95W3}

\begin{verbatim}
# /3
\end{verbatim}

{\small \begin{verbatim}
INFO: bitwise XOR

EXAMPLE(S):

?-#(1,2,_A).
_A = 3;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{V35WV35WV95W1}

\begin{verbatim}
(##)/1
\end{verbatim}

{\small \begin{verbatim}
INFO: executes arg 1 at compile time - make sure the executed code terminates

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{argV95W3} 
\begin{verbatim}
arg/3
\end{verbatim}

\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\item \ref{isV95WcompiledV95W1} 
\begin{verbatim}
is_compiled/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{hashV95WclearV95W1} 
\begin{verbatim}
hash_clear/1
\end{verbatim}

\item \ref{hashV95WputV95W2} 
\begin{verbatim}
hash_put/2
\end{verbatim}

\item \ref{hashV95WrmV95W2} 
\begin{verbatim}
hash_rm/2
\end{verbatim}

\item \ref{hashV95WrmV95WoneV95W2} 
\begin{verbatim}
hash_rm_one/2
\end{verbatim}

\item \ref{numbervarsV95W3} 
\begin{verbatim}
numbervars/3
\end{verbatim}

\item \ref{xV95WassertaV95W1} 
\begin{verbatim}
x_asserta/1
\end{verbatim}

\item \ref{xV95WassertzV95W1} 
\begin{verbatim}
x_assertz/1
\end{verbatim}

\item \ref{xV95WretractallV95W1} 
\begin{verbatim}
x_retractall/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V35WV42WV95W3}

\begin{verbatim}
(#*)/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (X): adds intuitionisic assumption *(X) to be used indefinitely by #- operation

\end{verbatim}}

\subsubsection{Predicate:} \label{V35WV43WV95W3}

\begin{verbatim}
(#+)/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (X): adds linear assumption +(X) to be consumed at most once, by a #- operation

\end{verbatim}}

\subsubsection{Predicate:} \label{V35WV45WV95W3}

\begin{verbatim}
(#-)/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (X): consumes +(X) linear assumption or matches *(X) intuitionistic assumption

\end{verbatim}}

\subsubsection{Predicate:} \label{V35WV58WV95W3}

\begin{verbatim}
(#:)/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (X): matches X against current dcg token

\end{verbatim}}

\subsubsection{Predicate:} \label{V35WV60WV95W3}

\begin{verbatim}
(#<)/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (Xs): sets the dcg token list to be Xs

\end{verbatim}}

\subsubsection{Predicate:} \label{V35WV61WV95W3}

\begin{verbatim}
(#=)/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (X): unifies X with any matching existing or future +(X) linear assumptions

\end{verbatim}}

\subsubsection{Predicate:} \label{V35WV62WV95W3}

\begin{verbatim}
(#>)/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (Xs): unifies current dcg token list with Xs

\end{verbatim}}

\subsubsection{Predicate:} \label{V35WV63WV95W3}

\begin{verbatim}
(#?)/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (X): matches +(X) or *(X) assumptions without any binding

\end{verbatim}}

\subsubsection{Predicate:} \label{V36WprocessV95WcatchV95W3}

\begin{verbatim}
$process_catch/3
\end{verbatim}

{\small \begin{verbatim}
INFO: processes data sent by catch for throw

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{copyV95WtermV95W2} 
\begin{verbatim}
copy_term/2
\end{verbatim}

\item \ref{untrailV95WtoV95W1} 
\begin{verbatim}
untrail_to/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V42WV95W3}

\begin{verbatim}
* /3
\end{verbatim}

{\small \begin{verbatim}
INFO: multiply

EXAMPLE(S):

?-*(10,3,_A).
_A = 30;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{V42WV42WV95W3}

\begin{verbatim}
** /3
\end{verbatim}

{\small \begin{verbatim}
INFO: returns arg 1 at power arg 2, a float

EXAMPLE(S):

?-**(2,3,_A).
_A = 8;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{V43WV95W2}

\begin{verbatim}
(+)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: returns 0 + arg 1

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V43WV95W3} 
\begin{verbatim}
(+)/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V43WV95W3}

\begin{verbatim}
(+)/3
\end{verbatim}

{\small \begin{verbatim}
INFO: add

EXAMPLE(S):

?-+(10,3,_A).
_A = 13;

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V43WV95W2} 
\begin{verbatim}
(+)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V43WV43WV95W3}

\begin{verbatim}
(++)/3
\end{verbatim}

{\small \begin{verbatim}
INFO: concatenates N lists, usable in is/2

\end{verbatim}}

\subsubsection{Predicate:} \label{V44WV95W2}

\begin{verbatim}
(,)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: A,B succeeds if A suceeds and B, called after A, succeeds

\end{verbatim}}

\subsubsection{Predicate:} \label{V45WV95W2}

\begin{verbatim}
(-)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: returns 0 - arg 1

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V45WV95W3} 
\begin{verbatim}
(-)/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V45WV95W3}

\begin{verbatim}
(-)/3
\end{verbatim}

{\small \begin{verbatim}
INFO: subtract

EXAMPLE(S):

?--(10,3,_A).
_A = 7;

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V45WV95W2} 
\begin{verbatim}
(-)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V45WV62WV95W2}

\begin{verbatim}
(->)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: Cond->Then executes Cond once; if it succeeds it also executes Then

\end{verbatim}}

\subsubsection{Predicate:} \label{V46WV95W3}

\begin{verbatim}
(.)/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (Head,Tail,List) builds List=[Head|Tail]

\end{verbatim}}

\subsubsection{Predicate:} \label{V47WV95W3}

\begin{verbatim}
/ /3
\end{verbatim}

{\small \begin{verbatim}
INFO: division

EXAMPLE(S):

?-/(10,3,_A).
_A = 3.33333333;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{V47WV47WV95W3}

\begin{verbatim}
// /3
\end{verbatim}

{\small \begin{verbatim}
INFO: integer division

EXAMPLE(S):

?-//(10,3,_A).
_A = 3;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{V47WV92WV95W3}

\begin{verbatim}
/\ /3
\end{verbatim}

{\small \begin{verbatim}
INFO: bitwise AND

EXAMPLE(S):

?-/\(1,2,_A).
_A = 0;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{V58WV58WV45WV95W2}

\begin{verbatim}
(::-)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: variant of :- for hand transformed binary clauses - use with care

\end{verbatim}}

\subsubsection{Predicate:} \label{V59WV95W2}

\begin{verbatim}
(;)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: A;B succeeds if A succeeds or B, called after A, succeeds

\end{verbatim}}

\subsubsection{Predicate:} \label{V60WV95W2}

\begin{verbatim}
(<)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: numeric comparison

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{lessV95W2} 
\begin{verbatim}
less/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dyncoV95W1} 
\begin{verbatim}
dynco/1
\end{verbatim}

\item \ref{getV95W1} 
\begin{verbatim}
get/1
\end{verbatim}

\item \ref{sdebugV95W1} 
\begin{verbatim}
sdebug/1
\end{verbatim}

\item \ref{timedV95WcallV95W4} 
\begin{verbatim}
timed_call/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V60WV60WV95W3}

\begin{verbatim}
<< /3
\end{verbatim}

{\small \begin{verbatim}
INFO: left shifts arg 1 by arg 2 bits

EXAMPLE(S):

?-<<(1,5,_A).
_A = 32;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{V61WV95W2}

\begin{verbatim}
(=)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (X,Y) true if (possibly cyclic) terms X and Y unify - cyclic terms can result from =/2, as occur check is not performed

EXAMPLE(S):

?-f(_A,s(a)) = f(_B,_B).
_A = s(a);
_B = s(a);

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{absV95W2} 
\begin{verbatim}
abs/2
\end{verbatim}

\item \ref{aproposV95W2} 
\begin{verbatim}
apropos/2
\end{verbatim}

\item \ref{askV95W5} 
\begin{verbatim}
ask/5
\end{verbatim}

\item \ref{atomV95WcodesV95W2} 
\begin{verbatim}
atom_codes/2
\end{verbatim}

\item \ref{bagofV95W3} 
\begin{verbatim}
bagof/3
\end{verbatim}

\item \ref{callV95WjinniV95W1} 
\begin{verbatim}
call_jinni/1
\end{verbatim}

\item \ref{callV95WjinniV95W3} 
\begin{verbatim}
call_jinni/3
\end{verbatim}

\item \ref{charV95WofV95W2} 
\begin{verbatim}
char_of/2
\end{verbatim}

\item \ref{cleanV95WupV95WdeadV95WenginesV95W0} 
\begin{verbatim}
clean_up_dead_engines/0
\end{verbatim}

\item \ref{cleanV95WupV95WenginesV95W1} 
\begin{verbatim}
clean_up_engines/1
\end{verbatim}

\item \ref{currentV95WmoduleV95W1} 
\begin{verbatim}
current_module/1
\end{verbatim}

\item \ref{dbV95Wretract1V95W2} 
\begin{verbatim}
db_retract1/2
\end{verbatim}

\item \ref{detV95WcallV95W1} 
\begin{verbatim}
det_call/1
\end{verbatim}

\item \ref{dir2listV95W3} 
\begin{verbatim}
dir2list/3
\end{verbatim}

\item \ref{dropV95WatV95WleastV95W2} 
\begin{verbatim}
drop_at_least/2
\end{verbatim}

\item \ref{dyncoV95W1} 
\begin{verbatim}
dynco/1
\end{verbatim}

\item \ref{fileV95WsizeV95W2} 
\begin{verbatim}
file_size/2
\end{verbatim}

\item \ref{fromV95WengineV95W1} 
\begin{verbatim}
from_engine/1
\end{verbatim}

\item \ref{gensymV95WnoV95W2} 
\begin{verbatim}
gensym_no/2
\end{verbatim}

\item \ref{getV95W1} 
\begin{verbatim}
get/1
\end{verbatim}

\item \ref{getV95W2} 
\begin{verbatim}
get/2
\end{verbatim}

\item \ref{getV95WcharV95W2} 
\begin{verbatim}
get_char/2
\end{verbatim}

\item \ref{getV95WengineV95WidV95W2} 
\begin{verbatim}
get_engine_id/2
\end{verbatim}

\item \ref{getV95WengineV95WthreadV95W2} 
\begin{verbatim}
get_engine_thread/2
\end{verbatim}

\item \ref{hasV95WtermsV95W1} 
\begin{verbatim}
has_terms/1
\end{verbatim}

\item \ref{hashV95WtraceV95W2} 
\begin{verbatim}
hash_trace/2
\end{verbatim}

\item \ref{ifV95WanyV95W3} 
\begin{verbatim}
if_any/3
\end{verbatim}

\item \ref{infoV95W1} 
\begin{verbatim}
info/1
\end{verbatim}

\item \ref{interactiveV95W1} 
\begin{verbatim}
interactive/1
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\item \ref{isV95WprologV95W1} 
\begin{verbatim}
is_prolog/1
\end{verbatim}

\item \ref{lineV95WofV95W2} 
\begin{verbatim}
line_of/2
\end{verbatim}

\item \ref{listV95WenginesV95W0} 
\begin{verbatim}
list_engines/0
\end{verbatim}

\item \ref{makeV95WcompileableV95W2} 
\begin{verbatim}
make_compileable/2
\end{verbatim}

\item \ref{mapsV95WiterateV95W1} 
\begin{verbatim}
maps_iterate/1
\end{verbatim}

\item \ref{maxV95W3} 
\begin{verbatim}
max/3
\end{verbatim}

\item \ref{memberchkV95W2} 
\begin{verbatim}
memberchk/2
\end{verbatim}

\item \ref{minV95W3} 
\begin{verbatim}
min/3
\end{verbatim}

\item \ref{mmapsV95WiterateV95W1} 
\begin{verbatim}
mmaps_iterate/1
\end{verbatim}

\item \ref{newV95WthreadV95WguardV95W1} 
\begin{verbatim}
new_thread_guard/1
\end{verbatim}

\item \ref{nthV95WanswerV95W2} 
\begin{verbatim}
nth_answer/2
\end{verbatim}

\item \ref{numbervarsV95W3} 
\begin{verbatim}
numbervars/3
\end{verbatim}

\item \ref{phraseV95W3} 
\begin{verbatim}
phrase/3
\end{verbatim}

\item \ref{popenV95W3} 
\begin{verbatim}
popen/3
\end{verbatim}

\item \ref{rpcV95WtestV95W1} 
\begin{verbatim}
rpc_test/1
\end{verbatim}

\item \ref{sentenceV95WofV95W2} 
\begin{verbatim}
sentence_of/2
\end{verbatim}

\item \ref{showV95WinfoV95W2} 
\begin{verbatim}
show_info/2
\end{verbatim}

\item \ref{signV95W2} 
\begin{verbatim}
sign/2
\end{verbatim}

\item \ref{synchronizeV95WonV95W3} 
\begin{verbatim}
synchronize_on/3
\end{verbatim}

\item \ref{takeV95WatV95WmostV95W2} 
\begin{verbatim}
take_at_most/2
\end{verbatim}

\item \ref{termV95WofV95W2} 
\begin{verbatim}
term_of/2
\end{verbatim}

\item \ref{theV95W3} 
\begin{verbatim}
the/3
\end{verbatim}

\item \ref{timedV95WcallV95W4} 
\begin{verbatim}
timed_call/4
\end{verbatim}

\item \ref{toV95WlowerV95WcharV95W2} 
\begin{verbatim}
to_lower_char/2
\end{verbatim}

\item \ref{toV95WtokensV95W2} 
\begin{verbatim}
to_tokens/2
\end{verbatim}

\item \ref{toV95WupperV95WcharV95W2} 
\begin{verbatim}
to_upper_char/2
\end{verbatim}

\item \ref{toV95WwordV95WcodesV95W2} 
\begin{verbatim}
to_word_codes/2
\end{verbatim}

\item \ref{trimV95WtermV95W4} 
\begin{verbatim}
trim_term/4
\end{verbatim}

\item \ref{xV95WtraceV95W2} 
\begin{verbatim}
x_trace/2
\end{verbatim}

\item \ref{xV95WtracedV95WcallV95W1} 
\begin{verbatim}
x_traced_call/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V61WV46WV46WV95W2}

\begin{verbatim}
(=..)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: called univ -this is bidirectional- it converts between a term and its view as a alist of components

EXAMPLE(S):

?-f(a,b) =.. _A.
_A = [f,a,b];

no

?-_A =.. [f,a,b].
_A = f(a,b);

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{varV95W1} 
\begin{verbatim}
var/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bagofV95W3} 
\begin{verbatim}
bagof/3
\end{verbatim}

\item \ref{dcgV95WcallV95W4} 
\begin{verbatim}
dcg_call/4
\end{verbatim}

\item \ref{dcgV95WcallV95W5} 
\begin{verbatim}
dcg_call/5
\end{verbatim}

\item \ref{trimV95WtermV95W4} 
\begin{verbatim}
trim_term/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V61WV58WV61WV95W2}

\begin{verbatim}
(=:=)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: numeric comparison

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{arithV95WeqV95W2} 
\begin{verbatim}
arith_eq/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{charV95WofV95W2} 
\begin{verbatim}
char_of/2
\end{verbatim}

\item \ref{getV95WcharV95W2} 
\begin{verbatim}
get_char/2
\end{verbatim}

\item \ref{qfindallV95W4} 
\begin{verbatim}
qfindall/4
\end{verbatim}

\item \ref{unixV95WcatV95W1} 
\begin{verbatim}
unix_cat/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V61WV60WV95W2}

\begin{verbatim}
(=<)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: numeric comparison

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{lessV95WeqV95W2} 
\begin{verbatim}
less_eq/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{freeV95WthreadV95WguardV95W1} 
\begin{verbatim}
free_thread_guard/1
\end{verbatim}

\item \ref{minV95W3} 
\begin{verbatim}
min/3
\end{verbatim}

\item \ref{quietmesV95W2} 
\begin{verbatim}
quietmes/2
\end{verbatim}

\item \ref{toV95WlowerV95WcharV95W2} 
\begin{verbatim}
to_lower_char/2
\end{verbatim}

\item \ref{toV95WupperV95WcharV95W2} 
\begin{verbatim}
to_upper_char/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V61WV61WV95W2}

\begin{verbatim}
(==)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: true if args are identical terms

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{addqV95W3} 
\begin{verbatim}
addq/3
\end{verbatim}

\item \ref{checkV95WpasswordV95W1} 
\begin{verbatim}
check_password/1
\end{verbatim}

\item \ref{pushqV95W3} 
\begin{verbatim}
pushq/3
\end{verbatim}

\item \ref{termV95WofV95W2} 
\begin{verbatim}
term_of/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V61WV92WV61WV95W2}

\begin{verbatim}
(=\=)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: numeric comparison

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{arithV95WdifV95W2} 
\begin{verbatim}
arith_dif/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{cleanV95WupV95WenginesV95W1} 
\begin{verbatim}
clean_up_engines/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V62WV95W2}

\begin{verbatim}
(>)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: numeric comparison

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{greaterV95W2} 
\begin{verbatim}
greater/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{defaultV95WthisV95WportV95W1} 
\begin{verbatim}
default_this_port/1
\end{verbatim}

\item \ref{getV95W1} 
\begin{verbatim}
get/1
\end{verbatim}

\item \ref{hasV95WthreadsV95W0} 
\begin{verbatim}
has_threads/0
\end{verbatim}

\item \ref{maxV95W3} 
\begin{verbatim}
max/3
\end{verbatim}

\item \ref{signV95W2} 
\begin{verbatim}
sign/2
\end{verbatim}

\item \ref{timedV95WcallV95W4} 
\begin{verbatim}
timed_call/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V62WV61WV95W2}

\begin{verbatim}
(>=)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: numeric comparison

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{greaterV95WeqV95W2} 
\begin{verbatim}
greater_eq/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{absV95W2} 
\begin{verbatim}
abs/2
\end{verbatim}

\item \ref{floatV95W1} 
\begin{verbatim}
float/1
\end{verbatim}

\item \ref{freeV95WthreadV95WguardV95W1} 
\begin{verbatim}
free_thread_guard/1
\end{verbatim}

\item \ref{toV95WlowerV95WcharV95W2} 
\begin{verbatim}
to_lower_char/2
\end{verbatim}

\item \ref{toV95WupperV95WcharV95W2} 
\begin{verbatim}
to_upper_char/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V62WV62WV95W3}

\begin{verbatim}
>> /3
\end{verbatim}

{\small \begin{verbatim}
INFO: right shifts arg 1 by arg 2 bits

EXAMPLE(S):

?->>(16,2,_A).
_A = 4;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{V64WV95W3}

\begin{verbatim}
@ /3
\end{verbatim}

{\small \begin{verbatim}
INFO: alternative form for C/3 DCG connect relation

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{CV95W3} 
\begin{verbatim}
C/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V64WV60WV95W2}

\begin{verbatim}
(@<)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: instance of compare/3 with arg 1: <

\end{verbatim}}

\subsubsection{Predicate:} \label{V64WV61WV60WV95W2}

\begin{verbatim}
(@=<)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: instance of compare/3 with arg 1: = or <

\end{verbatim}}

\subsubsection{Predicate:} \label{V64WV62WV95W2}

\begin{verbatim}
(@>)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: instance of compare/3 with arg 1: >

\end{verbatim}}

\subsubsection{Predicate:} \label{V64WV62WV61WV95W2}

\begin{verbatim}
(@>=)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: instance of compare/3 with arg 1: > or =

\end{verbatim}}

\subsubsection{Predicate:} \label{CV95W3}

\begin{verbatim}
C/3
\end{verbatim}

{\small \begin{verbatim}
INFO: DCG connect predicate

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V64WV95W3} 
\begin{verbatim}
@ /3
\end{verbatim}

\item \ref{matchV95WbeforeV95W5} 
\begin{verbatim}
match_before/5
\end{verbatim}

\item \ref{matchV95WwordV95W3} 
\begin{verbatim}
match_word/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V92WV95W2}

\begin{verbatim}
\ /2
\end{verbatim}

{\small \begin{verbatim}
INFO: complement

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V92WV95W3} 
\begin{verbatim}
\ /3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V92WV95W3}

\begin{verbatim}
\ /3
\end{verbatim}

{\small \begin{verbatim}
INFO: bitwise or of first arg with bitwise complement of second

EXAMPLE(S):

?-\(0,2,_A).
_A = -3;

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V92WV95W2} 
\begin{verbatim}
\ /2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V92WV43WV95W1}

\begin{verbatim}
(\+)/1
\end{verbatim}

{\small \begin{verbatim}
INFO: succeeds if its argument is executed and fails

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V92WV47WV95W3}

\begin{verbatim}
\/ /3
\end{verbatim}

{\small \begin{verbatim}
INFO: bitwise OR

EXAMPLE(S):

?-\/(1,2,_A).
_A = 3;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{V92WV61WV95W2}

\begin{verbatim}
(\=)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: true if args fail to unify

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V92WV61WV61WV95W2}

\begin{verbatim}
(\==)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: true if arg 1 is not identical to arg 2

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{addqV95W3} 
\begin{verbatim}
addq/3
\end{verbatim}

\item \ref{aproposV95W2} 
\begin{verbatim}
apropos/2
\end{verbatim}

\item \ref{bagofV95W3} 
\begin{verbatim}
bagof/3
\end{verbatim}

\item \ref{cpopqV95W3} 
\begin{verbatim}
cpopq/3
\end{verbatim}

\item \ref{hasV95WinfoV95W1} 
\begin{verbatim}
has_info/1
\end{verbatim}

\item \ref{pushqV95W3} 
\begin{verbatim}
pushq/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V94WV95W2}

\begin{verbatim}
^ /2
\end{verbatim}

{\small \begin{verbatim}
INFO: calls arg 2 and binds arg 1

EXAMPLE(S):

?-_A^eq(_A,1).
_A = 1;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{abolishV95W1}

\begin{verbatim}
abolish/1
\end{verbatim}

{\small \begin{verbatim}
INFO: abolish(F/N) deletes predicate F/N

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\item \ref{dbV95WabolishV95W2} 
\begin{verbatim}
db_abolish/2
\end{verbatim}

\item \ref{xV95WabolishV95W1} 
\begin{verbatim}
x_abolish/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{abortV95W0}

\begin{verbatim}
abort/0
\end{verbatim}

{\small \begin{verbatim}
INFO: returns to toplevel

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{loadV95W1} 
\begin{verbatim}
load/1
\end{verbatim}

\item \ref{mcompileV95W1} 
\begin{verbatim}
mcompile/1
\end{verbatim}

\item \ref{scompileV95W1} 
\begin{verbatim}
scompile/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{absV95W2}

\begin{verbatim}
abs/2
\end{verbatim}

{\small \begin{verbatim}
INFO: int function

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{V62WV61WV95W2} 
\begin{verbatim}
(>=)/2
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{abstimeV95W1}

\begin{verbatim}
abstime/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets time in secs since arbitrary origin

EXAMPLE(S):

?-abstime(_A).
_A = 372179908;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\item \ref{statisticsV95W2} 
\begin{verbatim}
statistics/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{acosV95W2}

\begin{verbatim}
acos/2
\end{verbatim}

{\small \begin{verbatim}
INFO: float function

\end{verbatim}}

\subsubsection{Predicate:} \label{addqV95W3}

\begin{verbatim}
addq/3
\end{verbatim}

{\small \begin{verbatim}
INFO: adds to end of persistent queeue

EXAMPLE(S):

?-addq(key1,key2,33).

yes

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV61WV95W2} 
\begin{verbatim}
(==)/2
\end{verbatim}

\item \ref{V92WV61WV61WV95W2} 
\begin{verbatim}
(\==)/2
\end{verbatim}

\item \ref{bbV95WgcV95W0} 
\begin{verbatim}
bb_gc/0
\end{verbatim}

\item \ref{clearV95WbpV95WerrorV95W0} 
\begin{verbatim}
clear_bp_error/0
\end{verbatim}

\item \ref{fatalV95WerrorV95W2} 
\begin{verbatim}
fatal_error/2
\end{verbatim}

\item \ref{getV95WbpV95WerrorV95W4} 
\begin{verbatim}
get_bp_error/4
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dbV95WassertzV95W2} 
\begin{verbatim}
db_assertz/2
\end{verbatim}

\item \ref{mapV95WputV95W3} 
\begin{verbatim}
map_put/3
\end{verbatim}

\item \ref{mmapV95WpushV95W3} 
\begin{verbatim}
mmap_push/3
\end{verbatim}

\item \ref{mmapV95WputV95W3} 
\begin{verbatim}
mmap_put/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{allV95W2}

\begin{verbatim}
all/2
\end{verbatim}

{\small \begin{verbatim}
INFO: gets the list of terms matching arg 1 from Linda blackboard

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{localV95WallV95W2} 
\begin{verbatim}
local_all/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{allV95W3}

\begin{verbatim}
all/3
\end{verbatim}

{\small \begin{verbatim}
INFO: gets a selection arg 1 of terms matching arg 2 from Linda blackboard

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{localV95WallV95W3} 
\begin{verbatim}
local_all/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{allV95WanswersV95W3}

\begin{verbatim}
all_answers/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (X,G,Xs): like findall/3, but such that if V is not common to X and G then V cannot be bound by execution of G

EXAMPLE(S):

?-all_answers(_A,member(s(_A),[_B,_C,_C,_D]),_E).
_A = _x149315;
_B = s(_x150414);
_C = s(_x150441);
_D = s(_x150495);
_E = [_x150414,_x150441,_x150441,_x150495];

no

\end{verbatim}}

\subsubsection{Predicate:} \label{allV95WbutV95WatV95WleastV95W4}

\begin{verbatim}
all_but_at_least/4
\end{verbatim}

{\small \begin{verbatim}
INFO: (N,X,G,Xs) findall variant, computing all but the first N answers X of G

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dropV95WatV95WleastV95W2} 
\begin{verbatim}
drop_at_least/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{allV95WforV95W2}

\begin{verbatim}
all_for/2
\end{verbatim}

{\small \begin{verbatim}
INFO: all_for(X,Xs) collects all constrained terms X on the blackboard to list Xs

\end{verbatim}}

\subsubsection{Predicate:} \label{andV95W2}

\begin{verbatim}
and/2
\end{verbatim}

{\small \begin{verbatim}
INFO: conjunction, like comma

\end{verbatim}}

\subsubsection{Predicate:} \label{answerV95WofV95W2}

\begin{verbatim}
answer_of/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (X,G): X is an answer for G, after finding all, sorting and removing duplicates

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\item \ref{sortV95W2} 
\begin{verbatim}
sort/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{answerV95WoneV95WqueryV95W2}

\begin{verbatim}
answer_one_query/2
\end{verbatim}

{\small \begin{verbatim}
INFO: handles a Jinni service S with password P

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{serviceV95WloopV95W2} 
\begin{verbatim}
service_loop/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{appendV95W3}

\begin{verbatim}
append/3
\end{verbatim}

{\small \begin{verbatim}
INFO: concatenates/decomposes lists

EXAMPLE(S):

?-append([1,2],[3,4],_A).
_A = [1,2,3,4];

no

?-append(_A,_B,[1,2]).
_A = [];
_B = [1,2];

_A = [1];
_B = [2];

_A = [1,2];
_B = [];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{appendV95W3} 
\begin{verbatim}
append/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{appendV95W3} 
\begin{verbatim}
append/3
\end{verbatim}

\item \ref{readV95WtermsV95WfromV95WcharsV95W3} 
\begin{verbatim}
read_terms_from_chars/3
\end{verbatim}

\item \ref{showV95WdefaultsV95W0} 
\begin{verbatim}
show_defaults/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{appendNV95W2}

\begin{verbatim}
appendN/2
\end{verbatim}

{\small \begin{verbatim}
INFO: concatenates N lists

EXAMPLE(S):

?-appendN([[a,b],[],[c]],_A).
_A = [a,b,c];

no

\end{verbatim}}

\subsubsection{Predicate:} \label{appendV95WconjV95W3}

\begin{verbatim}
append_conj/3
\end{verbatim}

{\small \begin{verbatim}
INFO: concatenates 2 conjunctions

\end{verbatim}}

\subsubsection{Predicate:} \label{appendV95WdisjV95W3}

\begin{verbatim}
append_disj/3
\end{verbatim}

{\small \begin{verbatim}
INFO: concatenates 2 disjunctions

\end{verbatim}}

\subsubsection{Predicate:} \label{aproposV95W1}

\begin{verbatim}
apropos/1
\end{verbatim}

{\small \begin{verbatim}
INFO: prints names of predicates defined in the system

EXAMPLE(S):

?-apropos(garbage).
use info/1 to get a description of a predicate
garbage_collect/0-[built_in,performs heap gc now]

yes

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{aproposV95W2} 
\begin{verbatim}
apropos/2
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\item \ref{nlV95W0} 
\begin{verbatim}
nl/0
\end{verbatim}

\item \ref{sortV95W2} 
\begin{verbatim}
sort/2
\end{verbatim}

\item \ref{writeV95W1} 
\begin{verbatim}
write/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{helpV95W1} 
\begin{verbatim}
help/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{aproposV95W2}

\begin{verbatim}
apropos/2
\end{verbatim}

{\small \begin{verbatim}
INFO: returns names of predicates defined in the system

EXAMPLE(S):

?-apropos(retract,_A).
_A = retract/1-[built_in,backtracks over deleting matching clauses];

_A = retract1/1-[built_in,deletes first matching clause in the current database];

_A = retractall/1-[built_in,deletes all matching clauses];

_A = x_retract/1-[built_in,db hook, backtracks over deleting matching clauses];

_A = x_retractall/1-[built_in,db hook, deletes all matching clauses];

_A = db_retract/2-[built_in,does retract/1 arg 2 from database given as arg 1];

_A = db_retract/3-[built_in,db_retract(Db,H,B) retracts clause with head H and body B from database Db];

_A = db_retract1/2-[built_in,deletes from database given as arg 1 a matching clause];

_A = db_retractall/2-[built_in,removes from database given as arg 1, all matching clauses];

_A = db_retractall/3-[built_in,removes from database given as arg 1, all matching clauses seen as head + body];

_A = prolog:x_retract_each/1-[compiled];

_A = prolog:db_retractall0/3-[compiled];

_A = prolog:x_retract/2-[compiled];

_A = prolog:x_retract_args/5-[compiled];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{V92WV61WV61WV95W2} 
\begin{verbatim}
(\==)/2
\end{verbatim}

\item \ref{bpV95WinfoV95W2} 
\begin{verbatim}
bp_info/2
\end{verbatim}

\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\item \ref{nameV95W2} 
\begin{verbatim}
name/2
\end{verbatim}

\item \ref{nearV95WmatchV95W2} 
\begin{verbatim}
near_match/2
\end{verbatim}

\item \ref{predicateV95WpropertyV95W2} 
\begin{verbatim}
predicate_property/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{aproposV95W1} 
\begin{verbatim}
apropos/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{argV95W3}

\begin{verbatim}
arg/3
\end{verbatim}

{\small \begin{verbatim}
INFO: arg(I,T,X) extracts arg I of term T to be unified with X

EXAMPLE(S):

?-arg(2,f(a,b),_A).
_A = b;

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V35WV35WV95W1} 
\begin{verbatim}
(##)/1
\end{verbatim}

\item \ref{argnV95W3} 
\begin{verbatim}
argn/3
\end{verbatim}

\item \ref{dbV95WretractallV95W3} 
\begin{verbatim}
db_retractall/3
\end{verbatim}

\item \ref{floatV95W1} 
\begin{verbatim}
float/1
\end{verbatim}

\item \ref{hashV95WloadV95W1} 
\begin{verbatim}
hash_load/1
\end{verbatim}

\item \ref{hashV95WsaveV95W2} 
\begin{verbatim}
hash_save/2
\end{verbatim}

\item \ref{ifV95WanyV95W3} 
\begin{verbatim}
if_any/3
\end{verbatim}

\item \ref{termV95WofV95W2} 
\begin{verbatim}
term_of/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{argnV95W3}

\begin{verbatim}
argn/3
\end{verbatim}

{\small \begin{verbatim}
INFO: generates all n args of term

EXAMPLE(S):

?-argn(_A,f(a,b),_B).
_A = 1;
_B = a;

_A = 2;
_B = b;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{argV95W3} 
\begin{verbatim}
arg/3
\end{verbatim}

\item \ref{forV95W3} 
\begin{verbatim}
for/3
\end{verbatim}

\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{arithV95WdifV95W2}

\begin{verbatim}
arith_dif/2
\end{verbatim}

{\small \begin{verbatim}
INFO: arithemetic comparison

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V61WV92WV61WV95W2} 
\begin{verbatim}
(=\=)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{arithV95WeqV95W2}

\begin{verbatim}
arith_eq/2
\end{verbatim}

{\small \begin{verbatim}
INFO: arithemetic comparison

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V61WV58WV61WV95W2} 
\begin{verbatim}
(=:=)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{arrayV95WgetV95W3}

\begin{verbatim}
array_get/3
\end{verbatim}

{\small \begin{verbatim}
INFO: gets and dereferences array element

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{cdelqV95W4} 
\begin{verbatim}
cdelq/4
\end{verbatim}

\item \ref{cdelqV95WanyV95W3} 
\begin{verbatim}
cdelq_any/3
\end{verbatim}

\item \ref{cmembqV95W3} 
\begin{verbatim}
cmembq/3
\end{verbatim}

\item \ref{dbV95WretractV95W3} 
\begin{verbatim}
db_retract/3
\end{verbatim}

\item \ref{vgetV95W2} 
\begin{verbatim}
vget/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{arrayV95Wget0V95W3}

\begin{verbatim}
array_get0/3
\end{verbatim}

{\small \begin{verbatim}
INFO: gets  array element

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{vget0V95W2} 
\begin{verbatim}
vget0/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{arrayV95WsetV95W3}

\begin{verbatim}
array_set/3
\end{verbatim}

{\small \begin{verbatim}
INFO: sets array element

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{vsetV95W2} 
\begin{verbatim}
vset/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{asinV95W2}

\begin{verbatim}
asin/2
\end{verbatim}

{\small \begin{verbatim}
INFO: float function

\end{verbatim}}

\subsubsection{Predicate:} \label{askV95W5}

\begin{verbatim}
ask/5
\end{verbatim}

{\small \begin{verbatim}
INFO: ask(ClientSocket,X,G,W,R): calls rpc server on on ClientSocket with query X goal G password W and gets result R back - supports socket reuse

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{rpcV95W3} 
\begin{verbatim}
rpc/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{askV95WengineV95W2}

\begin{verbatim}
ask_engine/2
\end{verbatim}

{\small \begin{verbatim}
INFO: ask_engine(E,X) retrieves from engine E (a copy of) answer X

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{getV95W2} 
\begin{verbatim}
get/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{askV95WthreadV95W2}

\begin{verbatim}
ask_thread/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (E,R): asks an answer of engine E on a new thread R

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bgV95W7} 
\begin{verbatim}
bg/7
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{asmV95W0}

\begin{verbatim}
asm/0
\end{verbatim}

{\small \begin{verbatim}
INFO: shows transformations and readable BinWAM assembler for Prolog code entered at terminal

\end{verbatim}}

\subsubsection{Predicate:} \label{asmV95W1}

\begin{verbatim}
asm/1
\end{verbatim}

{\small \begin{verbatim}
INFO: generates readable binarized form and BinWAM assembler to a file

\end{verbatim}}

\subsubsection{Predicate:} \label{assertV95W1}

\begin{verbatim}
assert/1
\end{verbatim}

{\small \begin{verbatim}
INFO: adds a clause

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{assertzV95W1} 
\begin{verbatim}
assertz/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{setV95WdefaultV95W1} 
\begin{verbatim}
set_default/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{assertV95WfromV95WcharsV95W1}

\begin{verbatim}
assert_from_chars/1
\end{verbatim}

{\small \begin{verbatim}
INFO: asserts a program from clauses in list of chars

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{assertV95WfromV95WcharsV95W2} 
\begin{verbatim}
assert_from_chars/2
\end{verbatim}

\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{assertV95WfromV95WcharsV95W2}

\begin{verbatim}
assert_from_chars/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Db,Cs) asserts to database Db, a set of clauses parsed from list of char codes Cs

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{foreachV95W2} 
\begin{verbatim}
foreach/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{assertV95WfromV95WcharsV95W1} 
\begin{verbatim}
assert_from_chars/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{assertaV95W1}

\begin{verbatim}
asserta/1
\end{verbatim}

{\small \begin{verbatim}
INFO: adds a clause to be first in a predicate definition

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\item \ref{dbV95WassertaV95W2} 
\begin{verbatim}
db_asserta/2
\end{verbatim}

\item \ref{xV95WassertaV95W1} 
\begin{verbatim}
x_asserta/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{assertedV95W1}

\begin{verbatim}
asserted/1
\end{verbatim}

{\small \begin{verbatim}
INFO: runs a predicated if asserted

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{clauseV95W2} 
\begin{verbatim}
clause/2
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{assertzV95W1}

\begin{verbatim}
assertz/1
\end{verbatim}

{\small \begin{verbatim}
INFO: adds a clause to be last in a predicate definition

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\item \ref{dbV95WassertzV95W2} 
\begin{verbatim}
db_assertz/2
\end{verbatim}

\item \ref{xV95WassertzV95W1} 
\begin{verbatim}
x_assertz/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{assertV95W1} 
\begin{verbatim}
assert/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{atanV95W2}

\begin{verbatim}
atan/2
\end{verbatim}

{\small \begin{verbatim}
INFO: float function

\end{verbatim}}

\subsubsection{Predicate:} \label{atan2V95W3}

\begin{verbatim}
atan2/3
\end{verbatim}

{\small \begin{verbatim}
INFO: float function

\end{verbatim}}

\subsubsection{Predicate:} \label{atomV95W1}

\begin{verbatim}
atom/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if symbol (functor of arity 0)

EXAMPLE(S):

?-atom(a).

yes

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{atomicV95W1} 
\begin{verbatim}
atomic/1
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{integerV95W1} 
\begin{verbatim}
integer/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{atomV95WcodesV95W2} 
\begin{verbatim}
atom_codes/2
\end{verbatim}

\item \ref{findV95WfileV95W2} 
\begin{verbatim}
find_file/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{atomV95WcharsV95W2}

\begin{verbatim}
atom_chars/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Atom,CharAtoms): converts between an atom and its list of char atoms representation

EXAMPLE(S):

?-atom_chars(hello,_A).
_A = [h,e,l,l,o];

no

?-atom_chars(_A,[104,101,108,108,111]).
no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{atomV95WcodesV95W2} 
\begin{verbatim}
atom_codes/2
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{atomV95WcodesV95W2}

\begin{verbatim}
atom_codes/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Atom,CharCodes): converts between an atom and its list of char code representation

EXAMPLE(S):

?-atom_codes(hello,_A).
_A = [104,101,108,108,111];

no

?-atom_codes(_A,[104,101,108,108,111]).
_A = hello;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{atomV95W1} 
\begin{verbatim}
atom/1
\end{verbatim}

\item \ref{nameV95W2} 
\begin{verbatim}
name/2
\end{verbatim}

\item \ref{numberV95W1} 
\begin{verbatim}
number/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{atomV95WcharsV95W2} 
\begin{verbatim}
atom_chars/2
\end{verbatim}

\item \ref{listifyV95W2} 
\begin{verbatim}
listify/2
\end{verbatim}

\item \ref{makeV95WcmdV95W2} 
\begin{verbatim}
make_cmd/2
\end{verbatim}

\item \ref{swriteV95W2} 
\begin{verbatim}
swrite/2
\end{verbatim}

\item \ref{wordsV95WcodeV95W2} 
\begin{verbatim}
words_code/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{atomicV95W1}

\begin{verbatim}
atomic/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if an integer or symbolic constant

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{atomV95W1} 
\begin{verbatim}
atom/1
\end{verbatim}

\item \ref{closeV95W1} 
\begin{verbatim}
close/1
\end{verbatim}

\item \ref{compoundV95W1} 
\begin{verbatim}
compound/1
\end{verbatim}

\item \ref{makeV95WcompileableV95W2} 
\begin{verbatim}
make_compileable/2
\end{verbatim}

\item \ref{numbervarsV95W3} 
\begin{verbatim}
numbervars/3
\end{verbatim}

\item \ref{systemV95W2} 
\begin{verbatim}
system/2
\end{verbatim}

\item \ref{trimV95WtermV95W4} 
\begin{verbatim}
trim_term/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bagofV95W3}

\begin{verbatim}
bagof/3
\end{verbatim}

{\small \begin{verbatim}
INFO: all solutions predicate generating unsorted bags of possibly dupplicated answers

EXAMPLE(S):

?-bagof(_A,member(_A,[3,2,2,1]),_B).
_A = _x149050;
_B = [3,2,2,1];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{V61WV46WV46WV95W2} 
\begin{verbatim}
(=..)/2
\end{verbatim}

\item \ref{V92WV61WV61WV95W2} 
\begin{verbatim}
(\==)/2
\end{verbatim}

\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\item \ref{keysortV95W2} 
\begin{verbatim}
keysort/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bbV95W0}

\begin{verbatim}
bb/0
\end{verbatim}

{\small \begin{verbatim}
INFO: lists (long!) content of the blackboard

\end{verbatim}}

\subsubsection{Predicate:} \label{bbV95WdefV95W3}

\begin{verbatim}
bb_def/3
\end{verbatim}

{\small \begin{verbatim}
INFO: bb_def(K1,K2,T) associates to K1 and K2 (a copy of) T on the blackboard

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bbV95WletV95W3} 
\begin{verbatim}
bb_let/3
\end{verbatim}

\item \ref{mapV95WputV95W3} 
\begin{verbatim}
map_put/3
\end{verbatim}

\item \ref{toV95WengineV95W2} 
\begin{verbatim}
to_engine/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bbV95WgcV95W0}

\begin{verbatim}
bb_gc/0
\end{verbatim}

{\small \begin{verbatim}
INFO: performs blackboard gc now, if enabled

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bbgcV95WstatusV95W1} 
\begin{verbatim}
bbgc_status/1
\end{verbatim}

\item \ref{callV95WifdefV95W2} 
\begin{verbatim}
call_ifdef/2
\end{verbatim}

\item \ref{clearV95WbpV95WerrorV95W0} 
\begin{verbatim}
clear_bp_error/0
\end{verbatim}

\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{addqV95W3} 
\begin{verbatim}
addq/3
\end{verbatim}

\item \ref{pushqV95W3} 
\begin{verbatim}
pushq/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bbV95Wgc0V95W0}

\begin{verbatim}
bb_gc0/0
\end{verbatim}

{\small \begin{verbatim}
INFO: performs blackboard gc now, in this engine

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bbV95WresetV95W1} 
\begin{verbatim}
bb_reset/1
\end{verbatim}

\item \ref{copyV95WtermV95W2} 
\begin{verbatim}
copy_term/2
\end{verbatim}

\item \ref{debugmesV95W1} 
\begin{verbatim}
debugmes/1
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\item \ref{statisticsV95W2} 
\begin{verbatim}
statistics/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bbV95WgetV95W3}

\begin{verbatim}
bb_get/3
\end{verbatim}

{\small \begin{verbatim}
INFO: bb_get(K1,K2,T) consumes the term T associated with K1 and K2

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bbV95WrmV95W2} 
\begin{verbatim}
bb_rm/2
\end{verbatim}

\item \ref{bbV95WvalV95W3} 
\begin{verbatim}
bb_val/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bbV95WletV95W3}

\begin{verbatim}
bb_let/3
\end{verbatim}

{\small \begin{verbatim}
INFO: bb_let(K1,K2,T) updates or defines the term associated with K1 and K2 to be T

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bbV95WdefV95W3} 
\begin{verbatim}
bb_def/3
\end{verbatim}

\item \ref{bbV95WsetV95W3} 
\begin{verbatim}
bb_set/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{hideV95WdefaultV95W1} 
\begin{verbatim}
hide_default/1
\end{verbatim}

\item \ref{initV95WgensymV95W1} 
\begin{verbatim}
init_gensym/1
\end{verbatim}

\item \ref{setV95WcV95WthresholdV95W2} 
\begin{verbatim}
set_c_threshold/2
\end{verbatim}

\item \ref{spyV95W1} 
\begin{verbatim}
(spy)/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bbV95WresetV95W1}

\begin{verbatim}
bb_reset/1
\end{verbatim}

{\small \begin{verbatim}
INFO: cleans up and resizes to at least arg 1 bytes compound term area of the blackboard

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bbV95Wgc0V95W0} 
\begin{verbatim}
bb_gc0/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bbV95WrmV95W2}

\begin{verbatim}
bb_rm/2
\end{verbatim}

{\small \begin{verbatim}
INFO: removes the term associated with K1 and K2 from the blackboard

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bbV95WgetV95W3} 
\begin{verbatim}
bb_get/3
\end{verbatim}

\item \ref{fromV95WengineV95W1} 
\begin{verbatim}
from_engine/1
\end{verbatim}

\item \ref{nospyV95W1} 
\begin{verbatim}
(nospy)/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bbV95WsetV95W3}

\begin{verbatim}
bb_set/3
\end{verbatim}

{\small \begin{verbatim}
INFO: bb_set(K1,K2,T) updates the term associated with K1 and K2 to be a copy of T

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bbV95WletV95W3} 
\begin{verbatim}
bb_let/3
\end{verbatim}

\item \ref{mapV95WputV95W3} 
\begin{verbatim}
map_put/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bbV95WvalV95W3}

\begin{verbatim}
bb_val/3
\end{verbatim}

{\small \begin{verbatim}
INFO: bb_val(K1,K2,T) T is (a copy of) the term associated with keys K1 and K2

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{copyV95WtermV95W2} 
\begin{verbatim}
copy_term/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bbV95WgetV95W3} 
\begin{verbatim}
bb_get/3
\end{verbatim}

\item \ref{currentV95WmoduleV95W1} 
\begin{verbatim}
current_module/1
\end{verbatim}

\item \ref{fromV95WengineV95W1} 
\begin{verbatim}
from_engine/1
\end{verbatim}

\item \ref{isV95WmoduleV95W1} 
\begin{verbatim}
is_module/1
\end{verbatim}

\item \ref{isV95WprologV95W1} 
\begin{verbatim}
is_prolog/1
\end{verbatim}

\item \ref{mapV95WgetV95W3} 
\begin{verbatim}
map_get/3
\end{verbatim}

\item \ref{showV95WdefaultV95W1} 
\begin{verbatim}
show_default/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bbgcV95W0}

\begin{verbatim}
bbgc/0
\end{verbatim}

{\small \begin{verbatim}
INFO: enables blackboard gc 

\end{verbatim}}

\subsubsection{Predicate:} \label{bbgcV95WstatusV95W1}

\begin{verbatim}
bbgc_status/1
\end{verbatim}

{\small \begin{verbatim}
INFO: shows if blackboard gc is enabled or not

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{vget0V95W2} 
\begin{verbatim}
vget0/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bbV95WgcV95W0} 
\begin{verbatim}
bb_gc/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{beginV95WcriticalV95W0}

\begin{verbatim}
begin_critical/0
\end{verbatim}

{\small \begin{verbatim}
INFO: begin serialized execution - enters critical region

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{lockV95WthreadV95WguardV95W1} 
\begin{verbatim}
lock_thread_guard/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{sdebugV95W1} 
\begin{verbatim}
sdebug/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bgV95W1}

\begin{verbatim}
bg/1
\end{verbatim}

{\small \begin{verbatim}
INFO: runs Goal in background thread - you can set engine size like in heap(500)=>bg(...)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bgV95W2} 
\begin{verbatim}
bg/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{rpcV95WtestV95W0} 
\begin{verbatim}
rpc_test/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bgV95W2}

\begin{verbatim}
bg/2
\end{verbatim}

{\small \begin{verbatim}
INFO: runs Goal in new background thread, which is returned in second arg 

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bgV95W3} 
\begin{verbatim}
bg/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bgV95W1} 
\begin{verbatim}
bg/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bgV95W3}

\begin{verbatim}
bg/3
\end{verbatim}

{\small \begin{verbatim}
INFO: bg(Goal,Thread,EngineAddr): runs goal in background if threads are available

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bgV95W4} 
\begin{verbatim}
bg/4
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bgV95W2} 
\begin{verbatim}
bg/2
\end{verbatim}

\item \ref{timedV95WcallV95W4} 
\begin{verbatim}
timed_call/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bgV95W4}

\begin{verbatim}
bg/4
\end{verbatim}

{\small \begin{verbatim}
INFO: bg(Goal,Thread,EngineAddr,EngineID): runs goal in background on new engine - with unique EngineID

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bgV95W7} 
\begin{verbatim}
bg/7
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bgV95W3} 
\begin{verbatim}
bg/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bgV95W7}

\begin{verbatim}
bg/7
\end{verbatim}

{\small \begin{verbatim}
INFO: bg(Goal,H,S,T,-Thread,-EngineAddr,-EngineID): runs goal in background on engine with given heap,stack,trail

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{askV95WthreadV95W2} 
\begin{verbatim}
ask_thread/2
\end{verbatim}

\item \ref{debugmesV95W1} 
\begin{verbatim}
debugmes/1
\end{verbatim}

\item \ref{getV95WengineV95WidV95W2} 
\begin{verbatim}
get_engine_id/2
\end{verbatim}

\item \ref{hasV95WthreadsV95W0} 
\begin{verbatim}
has_threads/0
\end{verbatim}

\item \ref{loadV95WengineV95W3} 
\begin{verbatim}
load_engine/3
\end{verbatim}

\item \ref{topcallV95W1} 
\begin{verbatim}
topcall/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bgV95W4} 
\begin{verbatim}
bg/4
\end{verbatim}

\item \ref{runV95WserverV95W6} 
\begin{verbatim}
run_server/6
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bootV95W0}

\begin{verbatim}
boot/0
\end{verbatim}

{\small \begin{verbatim}
INFO: regenerates file wam.bp in BinProlog src directory

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{rebootV95W0} 
\begin{verbatim}
reboot/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bpV95WinfoV95W2}

\begin{verbatim}
bp_info/2
\end{verbatim}

{\small \begin{verbatim}
INFO: keeps basic help info on BinProlog builtins

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{aproposV95W2} 
\begin{verbatim}
apropos/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bpV95WonlyV95W1}

\begin{verbatim}
bp_only/1
\end{verbatim}

{\small \begin{verbatim}
INFO: runs goal only if is_prolog(binprolog) is true

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bpV95WonlyV95W2} 
\begin{verbatim}
bp_only/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bpV95WonlyV95W2}

\begin{verbatim}
bp_only/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Goal,Alternative): runs goal only if is_prolog(binprolog) is true otherwise runs Alternative

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{isV95WprologV95W1} 
\begin{verbatim}
is_prolog/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bpV95WonlyV95W1} 
\begin{verbatim}
bp_only/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{bpV95WvalV95W3}

\begin{verbatim}
bp_val/3
\end{verbatim}

{\small \begin{verbatim}
INFO: unifies with 2 key indexed global logical variable

\end{verbatim}}

\subsubsection{Predicate:} \label{callV95W1}

\begin{verbatim}
call/1
\end{verbatim}

{\small \begin{verbatim}
INFO: executes (atomic!) arg 1

\end{verbatim}}

\subsubsection{Predicate:} \label{callV95W2}

\begin{verbatim}
call/2
\end{verbatim}

{\small \begin{verbatim}
INFO: efficient call/N variant

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WappendV95W3} 
\begin{verbatim}
term_append/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{includeV95W1} 
\begin{verbatim}
include/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{callV95W3}

\begin{verbatim}
call/3
\end{verbatim}

{\small \begin{verbatim}
INFO: efficient call/N variant

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WappendV95W3} 
\begin{verbatim}
term_append/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{callV95W4}

\begin{verbatim}
call/4
\end{verbatim}

{\small \begin{verbatim}
INFO: efficient call/N variant

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WappendV95W3} 
\begin{verbatim}
term_append/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{computeV95W4} 
\begin{verbatim}
compute/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{callV95W5}

\begin{verbatim}
call/5
\end{verbatim}

{\small \begin{verbatim}
INFO: efficient call/N variant

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WappendV95W3} 
\begin{verbatim}
term_append/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{callV95W6}

\begin{verbatim}
call/6
\end{verbatim}

{\small \begin{verbatim}
INFO: efficient call/N variant

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WappendV95W3} 
\begin{verbatim}
term_append/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{callV95W7}

\begin{verbatim}
call/7
\end{verbatim}

{\small \begin{verbatim}
INFO: efficient call/N variant

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WappendV95W3} 
\begin{verbatim}
term_append/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{callV95WexternalV95W3}

\begin{verbatim}
call_external/3
\end{verbatim}

{\small \begin{verbatim}
INFO: args: StringToStringFunctionAddress,InputChars,OuputChars - calls a C function

\end{verbatim}}

\subsubsection{Predicate:} \label{callV95WifdefV95W2}

\begin{verbatim}
call_ifdef/2
\end{verbatim}

{\small \begin{verbatim}
INFO: calls if predicate head is defined, calls arg 2 if not

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{debugmesV95W1} 
\begin{verbatim}
debugmes/1
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{isV95WcompiledV95W1} 
\begin{verbatim}
is_compiled/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bbV95WgcV95W0} 
\begin{verbatim}
bb_gc/0
\end{verbatim}

\item \ref{prologV95WloadV95W1} 
\begin{verbatim}
prolog_load/1
\end{verbatim}

\item \ref{restartV95W0} 
\begin{verbatim}
restart/0
\end{verbatim}

\item \ref{showV95WdefaultsV95W0} 
\begin{verbatim}
show_defaults/0
\end{verbatim}

\item \ref{xV95WgcV95W0} 
\begin{verbatim}
x_gc/0
\end{verbatim}

\item \ref{xloadV95W1} 
\begin{verbatim}
xload/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{callV95WjinniV95W1}

\begin{verbatim}
call_jinni/1
\end{verbatim}

{\small \begin{verbatim}
INFO: call_jinni(G) calls Jinni in Twin Prolog with first answer binding G and fails if no answers are found

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{callV95WjinniV95W2} 
\begin{verbatim}
call_jinni/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{callV95WjinniV95W2}

\begin{verbatim}
call_jinni/2
\end{verbatim}

{\small \begin{verbatim}
INFO: call_jinni(G,R) calls Jinni in Twin Prolog with first answer R=the(G) or R=no, without binding G

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{callV95WjinniV95W3} 
\begin{verbatim}
call_jinni/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{callV95WjinniV95W1} 
\begin{verbatim}
call_jinni/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{callV95WjinniV95W3}

\begin{verbatim}
call_jinni/3
\end{verbatim}

{\small \begin{verbatim}
INFO: call_jinni(X,G,R) calls Jinni in Twin Prolog with first answer R=the(X) or R=no, without binding G

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{callV95WjinniV95W2} 
\begin{verbatim}
call_jinni/2
\end{verbatim}

\item \ref{remoteV95WrunV95W6} 
\begin{verbatim}
remote_run/6
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{callableV95W1}

\begin{verbatim}
callable/1
\end{verbatim}

{\small \begin{verbatim}
INFO: checks if predicate head is defined (callable)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\item \ref{isV95WcompiledV95W1} 
\begin{verbatim}
is_compiled/1
\end{verbatim}

\item \ref{isV95WdynamicV95W1} 
\begin{verbatim}
is_dynamic/1
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{defaultV95W2} 
\begin{verbatim}
default/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{catchV95W3}

\begin{verbatim}
catch/3
\end{verbatim}

{\small \begin{verbatim}
INFO: ISO Prolog exception operator: executes arg 1 and if it catches arg 2, it executes arg 3

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{cdV95W0}

\begin{verbatim}
cd/0
\end{verbatim}

{\small \begin{verbatim}
INFO: changes local dir to HOME directory or / if no such env var

\end{verbatim}}

\subsubsection{Predicate:} \label{cdV95W1}

\begin{verbatim}
cd/1
\end{verbatim}

{\small \begin{verbatim}
INFO: changes local dir to arg 1

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{unixV95WcdV95W1} 
\begin{verbatim}
unix_cd/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{cdelqV95W4}

\begin{verbatim}
cdelq/4
\end{verbatim}

{\small \begin{verbatim}
INFO: deletes first matching element from a queue

EXAMPLE(S):

?-cdelq(key1,key2,_A,_B).
_A = _x148849;
_B = 33;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{arrayV95WgetV95W3} 
\begin{verbatim}
array_get/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dbV95WabolishV95W2} 
\begin{verbatim}
db_abolish/2
\end{verbatim}

\item \ref{dbV95Wretract1V95W2} 
\begin{verbatim}
db_retract1/2
\end{verbatim}

\item \ref{mapV95WgcV95W1} 
\begin{verbatim}
map_gc/1
\end{verbatim}

\item \ref{mmapV95WrmV95WoneV95W3} 
\begin{verbatim}
mmap_rm_one/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{cdelqV95WanyV95W3}

\begin{verbatim}
cdelq_any/3
\end{verbatim}

{\small \begin{verbatim}
INFO: deletes any matching element from a queue

EXAMPLE(S):

?-cdelq_any(key1,key2,_A).
no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{arrayV95WgetV95W3} 
\begin{verbatim}
array_get/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{mmapV95WrmV95W3} 
\begin{verbatim}
mmap_rm/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{ceilingV95W2}

\begin{verbatim}
ceiling/2
\end{verbatim}

{\small \begin{verbatim}
INFO: float to int function

EXAMPLE(S):

?-ceiling(1.3,_A).
_A = 2;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{integerV95W2} 
\begin{verbatim}
integer/2
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{changeV95WargV95W3}

\begin{verbatim}
change_arg/3
\end{verbatim}

{\small \begin{verbatim}
INFO: destructive: change_arg(I,T,X) replaces arg I of T with X

EXAMPLE(S):

?-change_arg(2,f(a,b),c).

yes

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{ifV95WanyV95W3} 
\begin{verbatim}
if_any/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{charV95WofV95W2}

\begin{verbatim}
char_of/2
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a Prolog file to a set of ascii codes - on backtracking

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{V61WV58WV61WV95W2} 
\begin{verbatim}
(=:=)/2
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{fcloseV95W1} 
\begin{verbatim}
fclose/1
\end{verbatim}

\item \ref{fgetcV95W2} 
\begin{verbatim}
fgetc/2
\end{verbatim}

\item \ref{findV95WfileV95W2} 
\begin{verbatim}
find_file/2
\end{verbatim}

\item \ref{fopenV95W3} 
\begin{verbatim}
fopen/3
\end{verbatim}

\item \ref{repeatV95W0} 
\begin{verbatim}
repeat/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{checkV95WpasswordV95W1}

\begin{verbatim}
check_password/1
\end{verbatim}

{\small \begin{verbatim}
INFO: checks that password matches default password

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV61WV95W2} 
\begin{verbatim}
(==)/2
\end{verbatim}

\item \ref{defaultV95WpasswordV95W1} 
\begin{verbatim}
default_password/1
\end{verbatim}

\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{cinV95W1}

\begin{verbatim}
cin/1
\end{verbatim}

{\small \begin{verbatim}
INFO: tries to get and remove a term from Linda blackboard

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{localV95WcinV95W1} 
\begin{verbatim}
local_cin/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{clauseV95W2}

\begin{verbatim}
clause/2
\end{verbatim}

{\small \begin{verbatim}
INFO: clause(H,B) generates a clause with head matching H and body B

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\item \ref{dbV95WclauseV95W3} 
\begin{verbatim}
db_clause/3
\end{verbatim}

\item \ref{xV95WclauseV95W2} 
\begin{verbatim}
x_clause/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{assertedV95W1} 
\begin{verbatim}
asserted/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{clauseV95WofV95W2}

\begin{verbatim}
clause_of/2
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a Prolog file to a set of clauses - on backtracking

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WofV95W2} 
\begin{verbatim}
term_of/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{cleanV95WupV95WdeadV95WenginesV95W0}

\begin{verbatim}
clean_up_dead_engines/0
\end{verbatim}

{\small \begin{verbatim}
INFO: frees resources used by dead engines

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{cleanV95WupV95WenginesV95W1} 
\begin{verbatim}
clean_up_engines/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{cleanV95WupV95WenginesV95W0}

\begin{verbatim}
clean_up_engines/0
\end{verbatim}

{\small \begin{verbatim}
INFO: frees resources used by all engines except main

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{cleanV95WupV95WenginesV95W1} 
\begin{verbatim}
clean_up_engines/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{cleanV95WupV95WenginesV95W1}

\begin{verbatim}
clean_up_engines/1
\end{verbatim}

{\small \begin{verbatim}
INFO: internal predicate

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{V61WV92WV61WV95W2} 
\begin{verbatim}
(=\=)/2
\end{verbatim}

\item \ref{debugmesV95W1} 
\begin{verbatim}
debugmes/1
\end{verbatim}

\item \ref{destroyV95WengineV95W1} 
\begin{verbatim}
destroy_engine/1
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{getV95WengineV95WpropV95W3} 
\begin{verbatim}
get_engine_prop/3
\end{verbatim}

\item \ref{listV95WenginesV95W1} 
\begin{verbatim}
list_engines/1
\end{verbatim}

\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{cleanV95WupV95WdeadV95WenginesV95W0} 
\begin{verbatim}
clean_up_dead_engines/0
\end{verbatim}

\item \ref{cleanV95WupV95WenginesV95W0} 
\begin{verbatim}
clean_up_engines/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{clearV95WbpV95WerrorV95W0}

\begin{verbatim}
clear_bp_error/0
\end{verbatim}

{\small \begin{verbatim}
INFO: clears errors set by various conditions

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{setV95WbpV95WerrorV95W4} 
\begin{verbatim}
set_bp_error/4
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{addqV95W3} 
\begin{verbatim}
addq/3
\end{verbatim}

\item \ref{bbV95WgcV95W0} 
\begin{verbatim}
bb_gc/0
\end{verbatim}

\item \ref{pushqV95W3} 
\begin{verbatim}
pushq/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{cloneV95WtermV95W3}

\begin{verbatim}
clone_term/3
\end{verbatim}

{\small \begin{verbatim}
INFO: clone_term(Vs,T,CT) does copy_term(T,C) while keeping unchanged variables Vs - useful if doing things like setarg/3 on the new copy

EXAMPLE(S):

?-clone_term([_A,_C],f(_A,_B,_B,_C),_D).
_A = _x149826;
_B = _x149196;
_C = _x149829;
_D = f(_x149826,_x149827,_x149827,_x149829);

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{copyV95WtermV95W2} 
\begin{verbatim}
copy_term/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{closeV95W1}

\begin{verbatim}
close/1
\end{verbatim}

{\small \begin{verbatim}
INFO: closes a stream opened by open/3

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{atomicV95W1} 
\begin{verbatim}
atomic/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{closeV95WiteratorV95W1}

\begin{verbatim}
close_iterator/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (Iterator) closes an iterator

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WstoreV95WopV95W4} 
\begin{verbatim}
term_store_op/4
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{getV95WallV95WtermsV95W2} 
\begin{verbatim}
get_all_terms/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{closeV95WsocketV95W1}

\begin{verbatim}
close_socket/1
\end{verbatim}

{\small \begin{verbatim}
INFO: closes a server, service or client

\end{verbatim}}

\subsubsection{Predicate:} \label{closeV95WstreamV95W2}

\begin{verbatim}
close_stream/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Type,StreamID) closes various streams

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{fcloseV95W1} 
\begin{verbatim}
fclose/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{cmakeV95W0}

\begin{verbatim}
cmake/0
\end{verbatim}

{\small \begin{verbatim}
INFO: compiles BinProlog's Prolog components to compact C code - for packaging as standalone executable

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{cmakeV95W1} 
\begin{verbatim}
cmake/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{cmakeV95W1}

\begin{verbatim}
cmake/1
\end{verbatim}

{\small \begin{verbatim}
INFO: compiles a Project to compact C code - for packaging as standalone executable

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{cmakeV95W2} 
\begin{verbatim}
cmake/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{cmakeV95W0} 
\begin{verbatim}
cmake/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{cmakeV95W2}

\begin{verbatim}
cmake/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Project,Module): compiles to C a project with all clauses belonging to Module

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{cmakeV95W1} 
\begin{verbatim}
cmake/1
\end{verbatim}

\item \ref{qmakeV95W2} 
\begin{verbatim}
qmake/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{cmembqV95W3}

\begin{verbatim}
cmembq/3
\end{verbatim}

{\small \begin{verbatim}
INFO: generates (copies of) members of a queue

EXAMPLE(S):

?-cmembq(key1,key2,_A).
no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{arrayV95WgetV95W3} 
\begin{verbatim}
array_get/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dbV95WclauseV95W3} 
\begin{verbatim}
db_clause/3
\end{verbatim}

\item \ref{mapV95WkeyV95W2} 
\begin{verbatim}
map_key/2
\end{verbatim}

\item \ref{mmapV95WgetV95W3} 
\begin{verbatim}
mmap_get/3
\end{verbatim}

\item \ref{mmapV95WkeyV95W2} 
\begin{verbatim}
mmap_key/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{cnlV95W0}

\begin{verbatim}
cnl/0
\end{verbatim}

{\small \begin{verbatim}
INFO: writes a new line

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{nlV95W0} 
\begin{verbatim}
nl/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{coV95W0}

\begin{verbatim}
co/0
\end{verbatim}

{\small \begin{verbatim}
INFO: reconsults/recompiles last file

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{includeV95W1} 
\begin{verbatim}
include/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{coV95W1}

\begin{verbatim}
co/1
\end{verbatim}

{\small \begin{verbatim}
INFO: reconsults using fast reader

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{reconsultV95W1} 
\begin{verbatim}
reconsult/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V126WV95W1} 
\begin{verbatim}
~ /1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{codesV95WwordsV95W2}

\begin{verbatim}
codes_words/2
\end{verbatim}

{\small \begin{verbatim}
INFO: converts a list of character codes to a list of words and back

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{toV95WwordsV95W2} 
\begin{verbatim}
to_words/2
\end{verbatim}

\item \ref{varV95W1} 
\begin{verbatim}
var/1
\end{verbatim}

\item \ref{wordsV95WcodeV95W2} 
\begin{verbatim}
words_code/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{readV95WwordsV95W1} 
\begin{verbatim}
read_words/1
\end{verbatim}

\item \ref{sentenceV95WofV95W2} 
\begin{verbatim}
sentence_of/2
\end{verbatim}

\item \ref{tokenV95WofV95W2} 
\begin{verbatim}
token_of/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{compareV95W3}

\begin{verbatim}
compare/3
\end{verbatim}

{\small \begin{verbatim}
INFO: returns <,=,> in arg 1 after comparing arg 2 with arg 3

EXAMPLE(S):

?-compare(_A,1,2).
_A = (<);

no

?-compare(_A,f(b),f(a)).
_A = (>);

no

?-compare(_A,s(_B),s(_B)).
_A = (=);
_B = _x149196;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{compileV95W1}

\begin{verbatim}
compile/1
\end{verbatim}

{\small \begin{verbatim}
INFO: applies current compilation method to the file arg 1

\end{verbatim}}

\subsubsection{Predicate:} \label{compoundV95W1}

\begin{verbatim}
compound/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if it has arity > 0

EXAMPLE(S):

?-compound(f(a)).

yes

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{atomicV95W1} 
\begin{verbatim}
atomic/1
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{computeV95W4}

\begin{verbatim}
compute/4
\end{verbatim}

{\small \begin{verbatim}
INFO: applies Op to arg 2 and arg 3 giving a result

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{callV95W4} 
\begin{verbatim}
call/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{consultV95W1}

\begin{verbatim}
consult/1
\end{verbatim}

{\small \begin{verbatim}
INFO: consults with possible duplication of clauses, allows later dynamic recompilation depending on db_ratio/1

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{consultV95W2} 
\begin{verbatim}
consult/2
\end{verbatim}

\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\item \ref{xV95WconsultV95W1} 
\begin{verbatim}
x_consult/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{xloadV95W1} 
\begin{verbatim}
xload/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{consultV95W2}

\begin{verbatim}
consult/2
\end{verbatim}

{\small \begin{verbatim}
INFO: consult(File,DB) consults File into DB)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dbV95WconsultV95W2} 
\begin{verbatim}
db_consult/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{consultV95W1} 
\begin{verbatim}
consult/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{copyV95WtermV95W2}

\begin{verbatim}
copy_term/2
\end{verbatim}

{\small \begin{verbatim}
INFO: returns a copy of arg 1 with fresh variables

EXAMPLE(S):

?-copy_term(f(_A,_A,_B,_B),_C).
_A = _x149028;
_B = _x149030;
_C = f(_x149464,_x149464,_x149466,_x149466);

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V36WprocessV95WcatchV95W3} 
\begin{verbatim}
$process_catch/3
\end{verbatim}

\item \ref{bbV95Wgc0V95W0} 
\begin{verbatim}
bb_gc0/0
\end{verbatim}

\item \ref{bbV95WvalV95W3} 
\begin{verbatim}
bb_val/3
\end{verbatim}

\item \ref{cloneV95WtermV95W3} 
\begin{verbatim}
clone_term/3
\end{verbatim}

\item \ref{theV95W3} 
\begin{verbatim}
the/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{cosV95W2}

\begin{verbatim}
cos/2
\end{verbatim}

{\small \begin{verbatim}
INFO: float function

\end{verbatim}}

\subsubsection{Predicate:} \label{countV95WtermsV95W2}

\begin{verbatim}
count_terms/2
\end{verbatim}

{\small \begin{verbatim}
INFO: returns the number of terms attached to a key

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WstoreV95WopV95W4} 
\begin{verbatim}
term_store_op/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{coutV95W1}

\begin{verbatim}
cout/1
\end{verbatim}

{\small \begin{verbatim}
INFO: adds a term to the blackboard, unless already a matching one is there

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{localV95WcoutV95W1} 
\begin{verbatim}
local_cout/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{cpopqV95W3}

\begin{verbatim}
cpopq/3
\end{verbatim}

{\small \begin{verbatim}
INFO: pops (copy of) first element of persistent queue

EXAMPLE(S):

?-cpopq(key1,key2,_A).
no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V92WV61WV61WV95W2} 
\begin{verbatim}
(\==)/2
\end{verbatim}

\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\item \ref{getV95WbpV95WerrorV95W4} 
\begin{verbatim}
get_bp_error/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{createV95WengineV95W1}

\begin{verbatim}
create_engine/1
\end{verbatim}

{\small \begin{verbatim}
INFO: makes a new engine or reuses a dead one

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{openV95WengineV95W3} 
\begin{verbatim}
open_engine/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{createV95WengineV95W4}

\begin{verbatim}
create_engine/4
\end{verbatim}

{\small \begin{verbatim}
INFO: create_engine(Heap,Stack,Trail,IntHandle) creates an engine IntHandle

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{createV95WnewV95WengineV95W1} 
\begin{verbatim}
create_new_engine/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{createV95WnewV95WengineV95W1}

\begin{verbatim}
create_new_engine/1
\end{verbatim}

{\small \begin{verbatim}
INFO: creates an engine as big as the current one

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{createV95WengineV95W4} 
\begin{verbatim}
create_engine/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{ctimeV95W1}

\begin{verbatim}
ctime/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets elapsed cpu time in ms

EXAMPLE(S):

?-ctime(_A).
_A = 7046;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{statisticsV95W2} 
\begin{verbatim}
statistics/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{hashV95WcompileV95W0} 
\begin{verbatim}
hash_compile/0
\end{verbatim}

\item \ref{rpcV95WtestV95W1} 
\begin{verbatim}
rpc_test/1
\end{verbatim}

\item \ref{xV95WgcV95W0} 
\begin{verbatim}
x_gc/0
\end{verbatim}

\item \ref{xV95WtracedV95WcallV95W1} 
\begin{verbatim}
x_traced_call/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{currentV95WdbV95W1}

\begin{verbatim}
current_db/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets the name of currently active database

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{vget0V95W2} 
\begin{verbatim}
vget0/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{abolishV95W1} 
\begin{verbatim}
abolish/1
\end{verbatim}

\item \ref{assertV95WfromV95WcharsV95W1} 
\begin{verbatim}
assert_from_chars/1
\end{verbatim}

\item \ref{assertaV95W1} 
\begin{verbatim}
asserta/1
\end{verbatim}

\item \ref{assertzV95W1} 
\begin{verbatim}
assertz/1
\end{verbatim}

\item \ref{clauseV95W2} 
\begin{verbatim}
clause/2
\end{verbatim}

\item \ref{consultV95W1} 
\begin{verbatim}
consult/1
\end{verbatim}

\item \ref{dbV95WcleanV95W0} 
\begin{verbatim}
db_clean/0
\end{verbatim}

\item \ref{dbV95WsaveV95W1} 
\begin{verbatim}
db_save/1
\end{verbatim}

\item \ref{dyn2statV95W1} 
\begin{verbatim}
dyn2stat/1
\end{verbatim}

\item \ref{isV95WassertedV95W1} 
\begin{verbatim}
is_asserted/1
\end{verbatim}

\item \ref{makeV95WcompileableV95W2} 
\begin{verbatim}
make_compileable/2
\end{verbatim}

\item \ref{oconsultV95W1} 
\begin{verbatim}
oconsult/1
\end{verbatim}

\item \ref{retractV95W1} 
\begin{verbatim}
retract/1
\end{verbatim}

\item \ref{retract1V95W1} 
\begin{verbatim}
retract1/1
\end{verbatim}

\item \ref{retractallV95W1} 
\begin{verbatim}
retractall/1
\end{verbatim}

\item \ref{stat2dynV95W1} 
\begin{verbatim}
stat2dyn/1
\end{verbatim}

\item \ref{thisV95WdbV95W1} 
\begin{verbatim}
this_db/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{currentV95WengineV95W1}

\begin{verbatim}
current_engine/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets the unique id of the current engine

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WengineV95WidV95W1} 
\begin{verbatim}
current_engine_id/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{currentV95WengineV95WaddrV95W1}

\begin{verbatim}
current_engine_addr/1
\end{verbatim}

{\small \begin{verbatim}
INFO: returns current engine handle

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{currentV95WengineV95WidV95W1} 
\begin{verbatim}
current_engine_id/1
\end{verbatim}

\item \ref{currentV95WengineV95WthreadV95W1} 
\begin{verbatim}
current_engine_thread/1
\end{verbatim}

\item \ref{thisV95WengineV95W1} 
\begin{verbatim}
this_engine/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{currentV95WengineV95WidV95W1}

\begin{verbatim}
current_engine_id/1
\end{verbatim}

{\small \begin{verbatim}
INFO: returns a unique id associated to an engine at creation time

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WengineV95WaddrV95W1} 
\begin{verbatim}
current_engine_addr/1
\end{verbatim}

\item \ref{getV95WengineV95WidV95W2} 
\begin{verbatim}
get_engine_id/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{currentV95WengineV95W1} 
\begin{verbatim}
current_engine/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{currentV95WengineV95WthreadV95W1}

\begin{verbatim}
current_engine_thread/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets from the current Engine the thread it is running on

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WengineV95WaddrV95W1} 
\begin{verbatim}
current_engine_addr/1
\end{verbatim}

\item \ref{getV95WengineV95WthreadV95W2} 
\begin{verbatim}
get_engine_thread/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{localV95WinV95W1} 
\begin{verbatim}
local_in/1
\end{verbatim}

\item \ref{localV95WwhenV95W1} 
\begin{verbatim}
local_when/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{currentV95WinputV95W1}

\begin{verbatim}
current_input/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets current input stream

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{pcollectV95W2} 
\begin{verbatim}
pcollect/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{currentV95WmoduleV95W1}

\begin{verbatim}
current_module/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets name of current module

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{bbV95WvalV95W3} 
\begin{verbatim}
bb_val/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{endV95WmoduleV95W1} 
\begin{verbatim}
end_module/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{currentV95WopV95W3}

\begin{verbatim}
current_op/3
\end{verbatim}

{\small \begin{verbatim}
INFO: generates/check current op/3 operator definition(s)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{forV95W3} 
\begin{verbatim}
for/3
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{isV95WinteractiveV95W0} 
\begin{verbatim}
is_interactive/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{currentV95WoutputV95W1}

\begin{verbatim}
current_output/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets current output stream

\end{verbatim}}

\subsubsection{Predicate:} \label{currentV95WpredicateV95W1}

\begin{verbatim}
current_predicate/1
\end{verbatim}

{\small \begin{verbatim}
INFO: generates/checks the head of an existing predicate

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{currentV95WpredicateV95W2}

\begin{verbatim}
current_predicate/2
\end{verbatim}

{\small \begin{verbatim}
INFO: generates/checks name and head of a currently defined predicate

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{showV95WdefaultsV95W0} 
\begin{verbatim}
show_defaults/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{currentV95WthreadV95W1}

\begin{verbatim}
current_thread/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets thread id number of current thread

\end{verbatim}}

\subsubsection{Predicate:} \label{cwriteV95W1}

\begin{verbatim}
cwrite/1
\end{verbatim}

{\small \begin{verbatim}
INFO: basic but quick C-version of write/1

\end{verbatim}}

\subsubsection{Predicate:} \label{dbV95WabolishV95W2}

\begin{verbatim}
db_abolish/2
\end{verbatim}

{\small \begin{verbatim}
INFO: db_abolish(DB,F/N) removes predicate F/N from DB

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{cdelqV95W4} 
\begin{verbatim}
cdelq/4
\end{verbatim}

\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{abolishV95W1} 
\begin{verbatim}
abolish/1
\end{verbatim}

\item \ref{dbV95WmoveV95W2} 
\begin{verbatim}
db_move/2
\end{verbatim}

\item \ref{dbV95WretractallV95W3} 
\begin{verbatim}
db_retractall/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WassertV95W2}

\begin{verbatim}
db_assert/2
\end{verbatim}

{\small \begin{verbatim}
INFO: does assert/1 arg 2 into database given as arg 1

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dbV95WassertzV95W2} 
\begin{verbatim}
db_assertz/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WassertaV95W2}

\begin{verbatim}
db_asserta/2
\end{verbatim}

{\small \begin{verbatim}
INFO: does asserta/1 arg 2 into database given as arg 1

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{pushqV95W3} 
\begin{verbatim}
pushq/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{assertaV95W1} 
\begin{verbatim}
asserta/1
\end{verbatim}

\item \ref{dbV95WretractallV95W3} 
\begin{verbatim}
db_retractall/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WassertedV95W2}

\begin{verbatim}
db_asserted/2
\end{verbatim}

{\small \begin{verbatim}
INFO: runs predicate arg 2 if asserted in database arg 1

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dbV95WclauseV95W3} 
\begin{verbatim}
db_clause/3
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WassertzV95W2}

\begin{verbatim}
db_assertz/2
\end{verbatim}

{\small \begin{verbatim}
INFO: does assertz/1 arg 2 into database given as arg 1

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{addqV95W3} 
\begin{verbatim}
addq/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{assertzV95W1} 
\begin{verbatim}
assertz/1
\end{verbatim}

\item \ref{dbV95WassertV95W2} 
\begin{verbatim}
db_assert/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WclauseV95W3}

\begin{verbatim}
db_clause/3
\end{verbatim}

{\small \begin{verbatim}
INFO: clause(DB,H,B) generates a clause found in database DB with head matching H and body B

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{cmembqV95W3} 
\begin{verbatim}
cmembq/3
\end{verbatim}

\item \ref{dbV95WheadV95W2} 
\begin{verbatim}
db_head/2
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{clauseV95W2} 
\begin{verbatim}
clause/2
\end{verbatim}

\item \ref{dbV95WassertedV95W2} 
\begin{verbatim}
db_asserted/2
\end{verbatim}

\item \ref{dbV95WsaveV95W2} 
\begin{verbatim}
db_save/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WcleanV95W0}

\begin{verbatim}
db_clean/0
\end{verbatim}

{\small \begin{verbatim}
INFO: abolishes all predicates in currently active database

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\item \ref{dbV95WcleanV95W1} 
\begin{verbatim}
db_clean/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WcleanV95W1}

\begin{verbatim}
db_clean/1
\end{verbatim}

{\small \begin{verbatim}
INFO: db_clean(DB) abolishes all predicates in DB

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dbV95WcleanV95W0} 
\begin{verbatim}
db_clean/0
\end{verbatim}

\item \ref{makeV95WcompileableV95W2} 
\begin{verbatim}
make_compileable/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WconsultV95W2}

\begin{verbatim}
db_consult/2
\end{verbatim}

{\small \begin{verbatim}
INFO: db_consult(File,Db) consults a file to a database Db

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{findV95WfileV95W2} 
\begin{verbatim}
find_file/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{consultV95W2} 
\begin{verbatim}
consult/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WheadV95W2}

\begin{verbatim}
db_head/2
\end{verbatim}

{\small \begin{verbatim}
INFO: generates/checks a predicate head in database (arg 1)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dbV95WclauseV95W3} 
\begin{verbatim}
db_clause/3
\end{verbatim}

\item \ref{dbV95WmoveV95W2} 
\begin{verbatim}
db_move/2
\end{verbatim}

\item \ref{stat2dynV95W2} 
\begin{verbatim}
stat2dyn/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WisV95WdynamicV95W2}

\begin{verbatim}
db_is_dynamic/2
\end{verbatim}

{\small \begin{verbatim}
INFO: checks if dynamic in a given database

\end{verbatim}}

\subsubsection{Predicate:} \label{dbV95WlistingV95W1}

\begin{verbatim}
db_listing/1
\end{verbatim}

{\small \begin{verbatim}
INFO: lists caluses given database

\end{verbatim}}

\subsubsection{Predicate:} \label{dbV95WlistingV95W2}

\begin{verbatim}
db_listing/2
\end{verbatim}

{\small \begin{verbatim}
INFO: lists predicate F/N in given database

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WmoveV95W2}

\begin{verbatim}
db_move/2
\end{verbatim}

{\small \begin{verbatim}
INFO: db_move(FromDB,ToDB) moves the content of database FromDB over database ToDB while replacing similar predicates

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dbV95WabolishV95W2} 
\begin{verbatim}
db_abolish/2
\end{verbatim}

\item \ref{dbV95WheadV95W2} 
\begin{verbatim}
db_head/2
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{oconsultV95W1} 
\begin{verbatim}
oconsult/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WratioV95W1}

\begin{verbatim}
db_ratio/1
\end{verbatim}

{\small \begin{verbatim}
INFO: sets/gets call/assert ratio which triggers dynamic recompilation

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{integerV95W1} 
\begin{verbatim}
integer/1
\end{verbatim}

\item \ref{vget0V95W2} 
\begin{verbatim}
vget0/2
\end{verbatim}

\item \ref{vsetV95W2} 
\begin{verbatim}
vset/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dyncoV95W1} 
\begin{verbatim}
dynco/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WretractV95W2}

\begin{verbatim}
db_retract/2
\end{verbatim}

{\small \begin{verbatim}
INFO: does retract/1 arg 2 from database given as arg 1

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dbV95WretractV95W3} 
\begin{verbatim}
db_retract/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{retractV95W1} 
\begin{verbatim}
retract/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WretractV95W3}

\begin{verbatim}
db_retract/3
\end{verbatim}

{\small \begin{verbatim}
INFO: db_retract(Db,H,B) retracts clause with head H and body B from database Db

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{arrayV95WgetV95W3} 
\begin{verbatim}
array_get/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dbV95WretractV95W2} 
\begin{verbatim}
db_retract/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95Wretract1V95W2}

\begin{verbatim}
db_retract1/2
\end{verbatim}

{\small \begin{verbatim}
INFO: deletes from database given as arg 1 a matching clause

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{cdelqV95W4} 
\begin{verbatim}
cdelq/4
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dbV95WretractallV95W3} 
\begin{verbatim}
db_retractall/3
\end{verbatim}

\item \ref{retract1V95W1} 
\begin{verbatim}
retract1/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WretractallV95W2}

\begin{verbatim}
db_retractall/2
\end{verbatim}

{\small \begin{verbatim}
INFO: removes from database given as arg 1, all matching clauses

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dbV95WretractallV95W3} 
\begin{verbatim}
db_retractall/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{retractallV95W1} 
\begin{verbatim}
retractall/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WretractallV95W3}

\begin{verbatim}
db_retractall/3
\end{verbatim}

{\small \begin{verbatim}
INFO: removes from database given as arg 1, all matching clauses seen as head + body

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{argV95W3} 
\begin{verbatim}
arg/3
\end{verbatim}

\item \ref{dbV95WabolishV95W2} 
\begin{verbatim}
db_abolish/2
\end{verbatim}

\item \ref{dbV95WassertaV95W2} 
\begin{verbatim}
db_asserta/2
\end{verbatim}

\item \ref{dbV95Wretract1V95W2} 
\begin{verbatim}
db_retract1/2
\end{verbatim}

\item \ref{forV95W3} 
\begin{verbatim}
for/3
\end{verbatim}

\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dbV95WretractallV95W2} 
\begin{verbatim}
db_retractall/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WsaveV95W1}

\begin{verbatim}
db_save/1
\end{verbatim}

{\small \begin{verbatim}
INFO: db_save(File) saves all the clauses of the current database to File

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\item \ref{dbV95WsaveV95W2} 
\begin{verbatim}
db_save/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{xsaveV95W1} 
\begin{verbatim}
xsave/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dbV95WsaveV95W2}

\begin{verbatim}
db_save/2
\end{verbatim}

{\small \begin{verbatim}
INFO: db_save(Db,File) saves using qprint/1 all the clauses of Db to File

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dbV95WclauseV95W3} 
\begin{verbatim}
db_clause/3
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{qprintV95W1} 
\begin{verbatim}
qprint/1
\end{verbatim}

\item \ref{tellV95W1} 
\begin{verbatim}
tell/1
\end{verbatim}

\item \ref{toldV95W0} 
\begin{verbatim}
told/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dbV95WsaveV95W1} 
\begin{verbatim}
db_save/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dcgV95WcallV95W4}

\begin{verbatim}
dcg_call/4
\end{verbatim}

{\small \begin{verbatim}
INFO: (F,X,I,O): DCG metacall for star,plus,one

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV46WV46WV95W2} 
\begin{verbatim}
(=..)/2
\end{verbatim}

\item \ref{topcallV95W1} 
\begin{verbatim}
topcall/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{oneV95W4} 
\begin{verbatim}
one/4
\end{verbatim}

\item \ref{plusV95W4} 
\begin{verbatim}
plus/4
\end{verbatim}

\item \ref{starV95W4} 
\begin{verbatim}
star/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dcgV95WcallV95W5}

\begin{verbatim}
dcg_call/5
\end{verbatim}

{\small \begin{verbatim}
INFO: (F,X,Y,I,O): DCG metacall for star,plus,one

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV46WV46WV95W2} 
\begin{verbatim}
(=..)/2
\end{verbatim}

\item \ref{topcallV95W1} 
\begin{verbatim}
topcall/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dcgV95WconnectV95W1}

\begin{verbatim}
dcg_connect/1
\end{verbatim}

{\small \begin{verbatim}
INFO: handles a terminal symbol in HAGs, as [a] in DCGs

\end{verbatim}}

\subsubsection{Predicate:} \label{dcgV95WdefV95W1}

\begin{verbatim}
dcg_def/1
\end{verbatim}

{\small \begin{verbatim}
INFO: backtrackable: sets current Assumption Grammar stream - usually a hidden DCG list

\end{verbatim}}

\subsubsection{Predicate:} \label{dcgV95WtellV95W1}

\begin{verbatim}
dcg_tell/1
\end{verbatim}

{\small \begin{verbatim}
INFO: switches to hidden DCG-stream number K (form 0 to MAXDCG=255)

\end{verbatim}}

\subsubsection{Predicate:} \label{dcgV95WtellingV95W1}

\begin{verbatim}
dcg_telling/1
\end{verbatim}

{\small \begin{verbatim}
INFO: retrieves which hidden DCG-stream we a re processing

EXAMPLE(S):

?-dcg_telling(_A).
_A = 1;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{dcgV95WvalV95W1}

\begin{verbatim}
dcg_val/1
\end{verbatim}

{\small \begin{verbatim}
INFO: backtrackable: retrieves current Assumption Grammar stream - usually a hidden DCG list

\end{verbatim}}

\subsubsection{Predicate:} \label{dconsultV95W1}

\begin{verbatim}
dconsult/1
\end{verbatim}

{\small \begin{verbatim}
INFO: reconsult/1 variant: cleans up data areas, consults/compiles based on db_ratio/1

\end{verbatim}}

\subsubsection{Predicate:} \label{debugmesV95W1}

\begin{verbatim}
debugmes/1
\end{verbatim}

{\small \begin{verbatim}
INFO: writes message in debug mode (low quietness)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{quietmesV95W2} 
\begin{verbatim}
quietmes/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bbV95Wgc0V95W0} 
\begin{verbatim}
bb_gc0/0
\end{verbatim}

\item \ref{bgV95W7} 
\begin{verbatim}
bg/7
\end{verbatim}

\item \ref{callV95WifdefV95W2} 
\begin{verbatim}
call_ifdef/2
\end{verbatim}

\item \ref{cleanV95WupV95WenginesV95W1} 
\begin{verbatim}
clean_up_engines/1
\end{verbatim}

\item \ref{includeV95W1} 
\begin{verbatim}
include/1
\end{verbatim}

\item \ref{qfindallV95W4} 
\begin{verbatim}
qfindall/4
\end{verbatim}

\item \ref{spawnV95W3} 
\begin{verbatim}
spawn/3
\end{verbatim}

\item \ref{timedV95WcallV95W4} 
\begin{verbatim}
timed_call/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{deepV95WhashV95W4}

\begin{verbatim}
deep_hash/4
\end{verbatim}

{\small \begin{verbatim}
INFO: (Key,Depth,Mod) computes hashvalue of Key modulo Mod, up to max recursion Depth

EXAMPLE(S):

?-deep_hash(f(a),5,0,_A).
_A = 23114257;

no

?-deep_hash(f(b),1,32,_A).
_A = 18;

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{groundV95W1} 
\begin{verbatim}
ground/1
\end{verbatim}

\item \ref{hkeyV95W2} 
\begin{verbatim}
hkey/2
\end{verbatim}

\item \ref{termV95WhashV95W2} 
\begin{verbatim}
term_hash/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{defaultV95W2}

\begin{verbatim}
default/2
\end{verbatim}

{\small \begin{verbatim}
INFO: default that can be overriden if asserted

EXAMPLE(S):

?-default(host(_A),_A = localhost).
_A = localhost;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{callableV95W1} 
\begin{verbatim}
callable/1
\end{verbatim}

\item \ref{showV95WdefaultV95W1} 
\begin{verbatim}
show_default/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{defaultV95WhostV95W1} 
\begin{verbatim}
default_host/1
\end{verbatim}

\item \ref{defaultV95WloginV95W1} 
\begin{verbatim}
default_login/1
\end{verbatim}

\item \ref{defaultV95WpasswordV95W1} 
\begin{verbatim}
default_password/1
\end{verbatim}

\item \ref{defaultV95WportV95W1} 
\begin{verbatim}
default_port/1
\end{verbatim}

\item \ref{defaultV95WthisV95WhostV95W1} 
\begin{verbatim}
default_this_host/1
\end{verbatim}

\item \ref{defaultV95WthisV95WportV95W1} 
\begin{verbatim}
default_this_port/1
\end{verbatim}

\item \ref{defaultV95WtimeoutV95W1} 
\begin{verbatim}
default_timeout/1
\end{verbatim}

\item \ref{prologV95WflagV95W2} 
\begin{verbatim}
prolog_flag/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{defaultV95WhostV95W1}

\begin{verbatim}
default_host/1
\end{verbatim}

{\small \begin{verbatim}
INFO: returns default host for remote Linda server

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{defaultV95W2} 
\begin{verbatim}
default/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{remoteV95WrunV95W1} 
\begin{verbatim}
remote_run/1
\end{verbatim}

\item \ref{startV95WrpcV95W0} 
\begin{verbatim}
start_rpc/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{defaultV95WloginV95W1}

\begin{verbatim}
default_login/1
\end{verbatim}

{\small \begin{verbatim}
INFO: returns default (nick)name for user

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{defaultV95W2} 
\begin{verbatim}
default/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{defaultV95WpasswordV95W1}

\begin{verbatim}
default_password/1
\end{verbatim}

{\small \begin{verbatim}
INFO: returns default password for user

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{defaultV95W2} 
\begin{verbatim}
default/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{checkV95WpasswordV95W1} 
\begin{verbatim}
check_password/1
\end{verbatim}

\item \ref{remoteV95WrunV95W3} 
\begin{verbatim}
remote_run/3
\end{verbatim}

\item \ref{rpcV95WserverV95W0} 
\begin{verbatim}
rpc_server/0
\end{verbatim}

\item \ref{startV95WrpcV95W0} 
\begin{verbatim}
start_rpc/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{defaultV95WportV95W1}

\begin{verbatim}
default_port/1
\end{verbatim}

{\small \begin{verbatim}
INFO: returns default port for remote Linda server

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{defaultV95W2} 
\begin{verbatim}
default/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{remoteV95WrunV95W1} 
\begin{verbatim}
remote_run/1
\end{verbatim}

\item \ref{startV95WrpcV95W0} 
\begin{verbatim}
start_rpc/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{defaultV95WthisV95WhostV95W1}

\begin{verbatim}
default_this_host/1
\end{verbatim}

{\small \begin{verbatim}
INFO: returns default IP address or hostname this machine

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{defaultV95W2} 
\begin{verbatim}
default/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{defaultV95WthisV95WportV95W1}

\begin{verbatim}
default_this_port/1
\end{verbatim}

{\small \begin{verbatim}
INFO: returns default port to work as a server on

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V62WV95W2} 
\begin{verbatim}
(>)/2
\end{verbatim}

\item \ref{defaultV95W2} 
\begin{verbatim}
default/2
\end{verbatim}

\item \ref{vget0V95W2} 
\begin{verbatim}
vget0/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{rpcV95WserverV95W0} 
\begin{verbatim}
rpc_server/0
\end{verbatim}

\item \ref{runV95WserverV95W0} 
\begin{verbatim}
run_server/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{defaultV95WtimeoutV95W1}

\begin{verbatim}
default_timeout/1
\end{verbatim}

{\small \begin{verbatim}
INFO: returns default timeout

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{defaultV95W2} 
\begin{verbatim}
default/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{rpcV95WserverV95W2} 
\begin{verbatim}
rpc_server/2
\end{verbatim}

\item \ref{threadV95WwaitV95W1} 
\begin{verbatim}
thread_wait/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{deleteV95WallV95WtermsV95W1}

\begin{verbatim}
delete_all_terms/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (GroundKey) removes all terms attached to a key

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WstoreV95WopV95W4} 
\begin{verbatim}
term_store_op/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{destroyV95WarrayV95W1}

\begin{verbatim}
destroy_array/1
\end{verbatim}

{\small \begin{verbatim}
INFO: frees an array

\end{verbatim}}

\subsubsection{Predicate:} \label{destroyV95WengineV95W1}

\begin{verbatim}
destroy_engine/1
\end{verbatim}

{\small \begin{verbatim}
INFO: destroy_engine(E) frees memory of engine E (an integer)

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{cleanV95WupV95WenginesV95W1} 
\begin{verbatim}
clean_up_engines/1
\end{verbatim}

\item \ref{stopV95W1} 
\begin{verbatim}
stop/1
\end{verbatim}

\item \ref{timedV95WcallV95W4} 
\begin{verbatim}
timed_call/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{detV95WcallV95W1}

\begin{verbatim}
det_call/1
\end{verbatim}

{\small \begin{verbatim}
INFO: calls a Goal and warns if it was not deterministic

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{findV95WatV95WmostV95W4} 
\begin{verbatim}
find_at_most/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{detectV95WipV95WaddrV95W1}

\begin{verbatim}
detect_ip_addr/1
\end{verbatim}

{\small \begin{verbatim}
INFO: the ip address of current host, if detected, that of localhost if not

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{vreadV95W2} 
\begin{verbatim}
vread/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{detectV95WuserV95W1}

\begin{verbatim}
detect_user/1
\end{verbatim}

{\small \begin{verbatim}
INFO: guesses the user from environment information

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{unixV95WgetenvV95W2} 
\begin{verbatim}
unix_getenv/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dirV95W0}

\begin{verbatim}
dir/0
\end{verbatim}

{\small \begin{verbatim}
INFO: lists files under DOS

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{systemV95W1} 
\begin{verbatim}
system/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dir2dirsV95W2}

\begin{verbatim}
dir2dirs/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Dir,Dirs): converts dir cmd output to list of sub directories of Dir

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dir2listV95W3} 
\begin{verbatim}
dir2list/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dir2filesV95W2}

\begin{verbatim}
dir2files/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Dir,Files): converts dir cmd output to list of files (which are not dirs) contained in Dir

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dir2listV95W3} 
\begin{verbatim}
dir2list/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dir2listV95W3}

\begin{verbatim}
dir2list/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (DirListerCmd,DirName,Files): converts OS specific DirLister output to list of files and/or directories

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{namecatV95W4} 
\begin{verbatim}
namecat/4
\end{verbatim}

\item \ref{pcollectV95W2} 
\begin{verbatim}
pcollect/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dir2dirsV95W2} 
\begin{verbatim}
dir2dirs/2
\end{verbatim}

\item \ref{dir2filesV95W2} 
\begin{verbatim}
dir2files/2
\end{verbatim}

\item \ref{ls2listV95W2} 
\begin{verbatim}
ls2list/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{discontiguousV95W1}

\begin{verbatim}
(discontiguous)/1
\end{verbatim}

{\small \begin{verbatim}
INFO: states that clauses of a predicate can be in different places

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{multifileV95W1} 
\begin{verbatim}
(multifile)/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{displayV95W1}

\begin{verbatim}
display/1
\end{verbatim}

{\small \begin{verbatim}
INFO: writes to terminal while ignoring operator definitions

\end{verbatim}}

\subsubsection{Predicate:} \label{dropV95WatV95WleastV95W2}

\begin{verbatim}
drop_at_least/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (N,Goal) drops at least N answers of Goal G

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{skipV95WwhenV95W2} 
\begin{verbatim}
skip_when/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{allV95WbutV95WatV95WleastV95W4} 
\begin{verbatim}
all_but_at_least/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dyn2statV95W1}

\begin{verbatim}
dyn2stat/1
\end{verbatim}

{\small \begin{verbatim}
INFO: dyn2stat(H): compiles at runtime a predicate with head H

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\item \ref{dyn2statV95W2} 
\begin{verbatim}
dyn2stat/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dyn2statV95W2}

\begin{verbatim}
dyn2stat/2
\end{verbatim}

{\small \begin{verbatim}
INFO: dyn2stat(Db,H): compiles at a predicate from database Db with head H

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{vget0V95W2} 
\begin{verbatim}
vget0/2
\end{verbatim}

\item \ref{vsetV95W2} 
\begin{verbatim}
vset/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dyn2statV95W1} 
\begin{verbatim}
dyn2stat/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dynamicV95W1}

\begin{verbatim}
(dynamic)/1
\end{verbatim}

{\small \begin{verbatim}
INFO: states that a predicate can be updated

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{xV95WdynamicV95W1} 
\begin{verbatim}
x_dynamic/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dynbbgcV95W0}

\begin{verbatim}
dynbbgc/0
\end{verbatim}

{\small \begin{verbatim}
INFO: makes blackboard dynamic with gc on

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{vsetV95W2} 
\begin{verbatim}
vset/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{dyncoV95W1}

\begin{verbatim}
dynco/1
\end{verbatim}

{\small \begin{verbatim}
INFO: yes/no: activates/desactivates dynamic recompilation

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V60WV95W2} 
\begin{verbatim}
(<)/2
\end{verbatim}

\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{dbV95WratioV95W1} 
\begin{verbatim}
db_ratio/1
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\item \ref{varV95W1} 
\begin{verbatim}
var/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{staticV95WprologV95WflagV95W2} 
\begin{verbatim}
static_prolog_flag/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{edV95W0}

\begin{verbatim}
ed/0
\end{verbatim}

{\small \begin{verbatim}
INFO: edits last compiled/consulted file with default editor and refreshes it in memory

\end{verbatim}}

\subsubsection{Predicate:} \label{editV95W0}

\begin{verbatim}
edit/0
\end{verbatim}

{\small \begin{verbatim}
INFO: calls DOS editor edit on last compiled file

\end{verbatim}}

\subsubsection{Predicate:} \label{editV95W2}

\begin{verbatim}
edit/2
\end{verbatim}

{\small \begin{verbatim}
INFO: edit(E,F) edits with editor E, file F

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{includeV95W1} 
\begin{verbatim}
include/1
\end{verbatim}

\item \ref{makeV95WcmdV95W2} 
\begin{verbatim}
make_cmd/2
\end{verbatim}

\item \ref{systemV95W1} 
\begin{verbatim}
system/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{elementV95WofV95W2}

\begin{verbatim}
element_of/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Engine,Answer: backtracks over the answers of a fluent (usually an engine)

\end{verbatim}}

\subsubsection{Predicate:} \label{emacsV95W0}

\begin{verbatim}
emacs/0
\end{verbatim}

{\small \begin{verbatim}
INFO: calls emacs editor on last compiled file

\end{verbatim}}

\subsubsection{Predicate:} \label{endV95WcriticalV95W0}

\begin{verbatim}
end_critical/0
\end{verbatim}

{\small \begin{verbatim}
INFO: ends serialized execution - exits critical region

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{unlockV95WthreadV95WguardV95W1} 
\begin{verbatim}
unlock_thread_guard/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{sdebugV95W1} 
\begin{verbatim}
sdebug/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{endV95WmoduleV95W0}

\begin{verbatim}
end_module/0
\end{verbatim}

{\small \begin{verbatim}
INFO: ends current module

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{endV95WmoduleV95W1} 
\begin{verbatim}
end_module/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{endV95WmoduleV95W1}

\begin{verbatim}
end_module/1
\end{verbatim}

{\small \begin{verbatim}
INFO: ends module if current, signals erro if not

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WmoduleV95W1} 
\begin{verbatim}
current_module/1
\end{verbatim}

\item \ref{endV95WmoduleV95W0} 
\begin{verbatim}
end_module/0
\end{verbatim}

\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{endV95WofV95WfileV95W0}

\begin{verbatim}
end_of_file/0
\end{verbatim}

{\small \begin{verbatim}
INFO: Prolog atom returned by read when at the end of a file

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{haltV95W0} 
\begin{verbatim}
halt/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{eqV95W2}

\begin{verbatim}
eq/2
\end{verbatim}

{\small \begin{verbatim}
INFO: unifies arg 1 and arg 2, like =

\end{verbatim}}

\subsubsection{Predicate:} \label{errmesV95W2}

\begin{verbatim}
errmes/2
\end{verbatim}

{\small \begin{verbatim}
INFO: writes error message and fails

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V35WV35WV95W1} 
\begin{verbatim}
(##)/1
\end{verbatim}

\item \ref{bbV95WgcV95W0} 
\begin{verbatim}
bb_gc/0
\end{verbatim}

\item \ref{checkV95WpasswordV95W1} 
\begin{verbatim}
check_password/1
\end{verbatim}

\item \ref{cpopqV95W3} 
\begin{verbatim}
cpopq/3
\end{verbatim}

\item \ref{detV95WcallV95W1} 
\begin{verbatim}
det_call/1
\end{verbatim}

\item \ref{endV95WmoduleV95W1} 
\begin{verbatim}
end_module/1
\end{verbatim}

\item \ref{flushV95WoutputV95W1} 
\begin{verbatim}
flush_output/1
\end{verbatim}

\item \ref{getV95WbpV95WerrorV95W4} 
\begin{verbatim}
get_bp_error/4
\end{verbatim}

\item \ref{getV95WcodeV95W2} 
\begin{verbatim}
get_code/2
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\item \ref{numberV95WcodesV95W2} 
\begin{verbatim}
number_codes/2
\end{verbatim}

\item \ref{putV95WcharV95W2} 
\begin{verbatim}
put_char/2
\end{verbatim}

\item \ref{putV95WcodeV95W2} 
\begin{verbatim}
put_code/2
\end{verbatim}

\item \ref{setV95WbpV95WerrorV95W4} 
\begin{verbatim}
set_bp_error/4
\end{verbatim}

\item \ref{startV95WrpcV95W3} 
\begin{verbatim}
start_rpc/3
\end{verbatim}

\item \ref{toV95WwordsV95W2} 
\begin{verbatim}
to_words/2
\end{verbatim}

\item \ref{unixV95W1} 
\begin{verbatim}
unix/1
\end{verbatim}

\item \ref{writeV95WtermV95WtoV95WcharsV95W3} 
\begin{verbatim}
write_term_to_chars/3
\end{verbatim}

\item \ref{writeV95WwordsV95W1} 
\begin{verbatim}
write_words/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{existsV95WfileV95W1}

\begin{verbatim}
exists_file/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if file exists

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{seeV95WorV95WfailV95W1} 
\begin{verbatim}
see_or_fail/1
\end{verbatim}

\item \ref{seenV95W0} 
\begin{verbatim}
seen/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{fileV95WsizeV95W2} 
\begin{verbatim}
file_size/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{exitV95W0}

\begin{verbatim}
exit/0
\end{verbatim}

{\small \begin{verbatim}
INFO: same as halt

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{haltV95W0} 
\begin{verbatim}
halt/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{expV95W2}

\begin{verbatim}
exp/2
\end{verbatim}

{\small \begin{verbatim}
INFO: float function

\end{verbatim}}

\subsubsection{Predicate:} \label{expandV95WtermV95W2}

\begin{verbatim}
expand_term/2
\end{verbatim}

{\small \begin{verbatim}
INFO: expands a term according to DCG expansion rules

\end{verbatim}}

\subsubsection{Predicate:} \label{failV95W0}

\begin{verbatim}
fail/0
\end{verbatim}

{\small \begin{verbatim}
INFO: always fails

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V92WV43WV95W1} 
\begin{verbatim}
(\+)/1
\end{verbatim}

\item \ref{V92WV61WV95W2} 
\begin{verbatim}
(\=)/2
\end{verbatim}

\item \ref{aproposV95W1} 
\begin{verbatim}
apropos/1
\end{verbatim}

\item \ref{atomV95W1} 
\begin{verbatim}
atom/1
\end{verbatim}

\item \ref{bbV95WgcV95W0} 
\begin{verbatim}
bb_gc/0
\end{verbatim}

\item \ref{bbV95Wgc0V95W0} 
\begin{verbatim}
bb_gc0/0
\end{verbatim}

\item \ref{callV95WifdefV95W2} 
\begin{verbatim}
call_ifdef/2
\end{verbatim}

\item \ref{catchV95W3} 
\begin{verbatim}
catch/3
\end{verbatim}

\item \ref{charV95WofV95W2} 
\begin{verbatim}
char_of/2
\end{verbatim}

\item \ref{cleanV95WupV95WenginesV95W1} 
\begin{verbatim}
clean_up_engines/1
\end{verbatim}

\item \ref{currentV95WopV95W3} 
\begin{verbatim}
current_op/3
\end{verbatim}

\item \ref{dbV95WcleanV95W1} 
\begin{verbatim}
db_clean/1
\end{verbatim}

\item \ref{dbV95WmoveV95W2} 
\begin{verbatim}
db_move/2
\end{verbatim}

\item \ref{dbV95WsaveV95W2} 
\begin{verbatim}
db_save/2
\end{verbatim}

\item \ref{detV95WcallV95W1} 
\begin{verbatim}
det_call/1
\end{verbatim}

\item \ref{falseV95W0} 
\begin{verbatim}
false/0
\end{verbatim}

\item \ref{forallV95W1} 
\begin{verbatim}
forall/1
\end{verbatim}

\item \ref{forallV95W2} 
\begin{verbatim}
forall/2
\end{verbatim}

\item \ref{foreachV95W1} 
\begin{verbatim}
foreach/1
\end{verbatim}

\item \ref{foreachV95W2} 
\begin{verbatim}
foreach/2
\end{verbatim}

\item \ref{hasV95WthreadsV95W0} 
\begin{verbatim}
has_threads/0
\end{verbatim}

\item \ref{hashV95WclearV95W0} 
\begin{verbatim}
hash_clear/0
\end{verbatim}

\item \ref{hashV95WclearV95W2} 
\begin{verbatim}
hash_clear/2
\end{verbatim}

\item \ref{hashV95WgcV95W0} 
\begin{verbatim}
hash_gc/0
\end{verbatim}

\item \ref{hashV95WsaveV95W2} 
\begin{verbatim}
hash_save/2
\end{verbatim}

\item \ref{infoV95W0} 
\begin{verbatim}
info/0
\end{verbatim}

\item \ref{infoV95W1} 
\begin{verbatim}
info/1
\end{verbatim}

\item \ref{listV95WenginesV95W0} 
\begin{verbatim}
list_engines/0
\end{verbatim}

\item \ref{listingV95W0} 
\begin{verbatim}
listing/0
\end{verbatim}

\item \ref{listingV95W2} 
\begin{verbatim}
listing/2
\end{verbatim}

\item \ref{makeV95WcompileableV95W2} 
\begin{verbatim}
make_compileable/2
\end{verbatim}

\item \ref{mapV95WclearV95W1} 
\begin{verbatim}
map_clear/1
\end{verbatim}

\item \ref{mapV95WgcV95W1} 
\begin{verbatim}
map_gc/1
\end{verbatim}

\item \ref{mapV95WshowV95W1} 
\begin{verbatim}
map_show/1
\end{verbatim}

\item \ref{mmapV95WclearV95W1} 
\begin{verbatim}
mmap_clear/1
\end{verbatim}

\item \ref{mmapV95WgcV95W1} 
\begin{verbatim}
mmap_gc/1
\end{verbatim}

\item \ref{mmapV95WshowV95W1} 
\begin{verbatim}
mmap_show/1
\end{verbatim}

\item \ref{moduleV95W2} 
\begin{verbatim}
(module)/2
\end{verbatim}

\item \ref{notV95W1} 
\begin{verbatim}
(not)/1
\end{verbatim}

\item \ref{portrayV95WclauseV95W1} 
\begin{verbatim}
portray_clause/1
\end{verbatim}

\item \ref{ppV95WtermV95W1} 
\begin{verbatim}
pp_term/1
\end{verbatim}

\item \ref{prologV95WrunV95W1} 
\begin{verbatim}
prolog_run/1
\end{verbatim}

\item \ref{runV95WserverV95W6} 
\begin{verbatim}
run_server/6
\end{verbatim}

\item \ref{serviceV95WloopV95W2} 
\begin{verbatim}
service_loop/2
\end{verbatim}

\item \ref{showV95WdefaultsV95W0} 
\begin{verbatim}
show_defaults/0
\end{verbatim}

\item \ref{showV95WinfoV95W2} 
\begin{verbatim}
show_info/2
\end{verbatim}

\item \ref{skipV95WuntilV95W2} 
\begin{verbatim}
skip_until/2
\end{verbatim}

\item \ref{skipV95WwhenV95W2} 
\begin{verbatim}
skip_when/2
\end{verbatim}

\item \ref{stat2dynV95W2} 
\begin{verbatim}
stat2dyn/2
\end{verbatim}

\item \ref{statisticsV95W0} 
\begin{verbatim}
statistics/0
\end{verbatim}

\item \ref{subsumesV95WchkV95W2} 
\begin{verbatim}
subsumes_chk/2
\end{verbatim}

\item \ref{termV95WofV95W2} 
\begin{verbatim}
term_of/2
\end{verbatim}

\item \ref{timedV95WcallV95W4} 
\begin{verbatim}
timed_call/4
\end{verbatim}

\item \ref{toplevelV95W0} 
\begin{verbatim}
toplevel/0
\end{verbatim}

\item \ref{whileV95W2} 
\begin{verbatim}
while/2
\end{verbatim}

\item \ref{xV95WgcV95W0} 
\begin{verbatim}
x_gc/0
\end{verbatim}

\item \ref{xV95WlistingV95W0} 
\begin{verbatim}
x_listing/0
\end{verbatim}

\item \ref{xV95WlistingV95W1} 
\begin{verbatim}
x_listing/1
\end{verbatim}

\item \ref{xV95WprofileV95W0} 
\begin{verbatim}
x_profile/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{falseV95W0}

\begin{verbatim}
false/0
\end{verbatim}

{\small \begin{verbatim}
INFO: always fails

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{fatalV95WerrorV95W2}

\begin{verbatim}
fatal_error/2
\end{verbatim}

{\small \begin{verbatim}
INFO: writes error message and aborts

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{addqV95W3} 
\begin{verbatim}
addq/3
\end{verbatim}

\item \ref{pushqV95W3} 
\begin{verbatim}
pushq/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{fcallV95W3}

\begin{verbatim}
fcall/3
\end{verbatim}

{\small \begin{verbatim}
INFO: calls a list to list function: to be implemented

\end{verbatim}}

\subsubsection{Predicate:} \label{fcloseV95W1}

\begin{verbatim}
fclose/1
\end{verbatim}

{\small \begin{verbatim}
INFO: closes the C-stream specifiend as an integer handle

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{closeV95WstreamV95W2} 
\begin{verbatim}
close_stream/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{charV95WofV95W2} 
\begin{verbatim}
char_of/2
\end{verbatim}

\item \ref{file2charsV95W2} 
\begin{verbatim}
file2chars/2
\end{verbatim}

\item \ref{fileV95WsizeV95W2} 
\begin{verbatim}
file_size/2
\end{verbatim}

\item \ref{unixV95WcatV95W1} 
\begin{verbatim}
unix_cat/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{fcompileV95W1}

\begin{verbatim}
fcompile/1
\end{verbatim}

{\small \begin{verbatim}
INFO: compiles a *.pl file to a *.wam bytecode file

\end{verbatim}}

\subsubsection{Predicate:} \label{fflushV95W1}

\begin{verbatim}
fflush/1
\end{verbatim}

{\small \begin{verbatim}
INFO: fflush(IntegerStreamNo) flushes a C-stream

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{flushV95WoutputV95W1} 
\begin{verbatim}
flush_output/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{fgetcV95W2}

\begin{verbatim}
fgetc/2
\end{verbatim}

{\small \begin{verbatim}
INFO: fgetc(IntegerStreamNo,CharCode) inputs a char code from a C stream

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{charV95WofV95W2} 
\begin{verbatim}
char_of/2
\end{verbatim}

\item \ref{file2charsV95W2} 
\begin{verbatim}
file2chars/2
\end{verbatim}

\item \ref{getV95WcodeV95W2} 
\begin{verbatim}
get_code/2
\end{verbatim}

\item \ref{unixV95WcatV95W1} 
\begin{verbatim}
unix_cat/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{file2charsV95W2}

\begin{verbatim}
file2chars/2
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a file to a list of ascii codes

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{fcloseV95W1} 
\begin{verbatim}
fclose/1
\end{verbatim}

\item \ref{fgetcV95W2} 
\begin{verbatim}
fgetc/2
\end{verbatim}

\item \ref{fopenV95W3} 
\begin{verbatim}
fopen/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{file2sockV95W2}

\begin{verbatim}
file2sock/2
\end{verbatim}

{\small \begin{verbatim}
INFO: writes to a socket, from a file

\end{verbatim}}

\subsubsection{Predicate:} \label{fileV95WextensionV95WlistV95W1}

\begin{verbatim}
file_extension_list/1
\end{verbatim}

{\small \begin{verbatim}
INFO: defines default file extensions for find_file

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{findV95WfileV95W2} 
\begin{verbatim}
find_file/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{fileV95WsearchV95WpathV95W1}

\begin{verbatim}
file_search_path/1
\end{verbatim}

{\small \begin{verbatim}
INFO: defines search path relative to BP_PATH (home of BinProlog) and PROLOG_PATH (home of user files)

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{findV95WfileV95W2} 
\begin{verbatim}
find_file/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{fileV95WsizeV95W2}

\begin{verbatim}
file_size/2
\end{verbatim}

{\small \begin{verbatim}
INFO: returns the size of a file, in bytes

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{existsV95WfileV95W1} 
\begin{verbatim}
exists_file/1
\end{verbatim}

\item \ref{fcloseV95W1} 
\begin{verbatim}
fclose/1
\end{verbatim}

\item \ref{fopenV95W3} 
\begin{verbatim}
fopen/3
\end{verbatim}

\item \ref{fsizeV95W2} 
\begin{verbatim}
fsize/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{findV95WatV95WmostV95W4}

\begin{verbatim}
find_at_most/4
\end{verbatim}

{\small \begin{verbatim}
INFO: (N,X,G,Xs) findall variant, computing at most N answers X of G

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{takeV95WatV95WmostV95W2} 
\begin{verbatim}
take_at_most/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{detV95WcallV95W1} 
\begin{verbatim}
det_call/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{findV95WfileV95W2}

\begin{verbatim}
find_file/2
\end{verbatim}

{\small \begin{verbatim}
INFO: finds a file name on search path

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{atomV95W1} 
\begin{verbatim}
atom/1
\end{verbatim}

\item \ref{fileV95WextensionV95WlistV95W1} 
\begin{verbatim}
file_extension_list/1
\end{verbatim}

\item \ref{fileV95WsearchV95WpathV95W1} 
\begin{verbatim}
file_search_path/1
\end{verbatim}

\item \ref{userV95WerrorV95W2} 
\begin{verbatim}
user_error/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{charV95WofV95W2} 
\begin{verbatim}
char_of/2
\end{verbatim}

\item \ref{dbV95WconsultV95W2} 
\begin{verbatim}
db_consult/2
\end{verbatim}

\item \ref{oconsultV95W1} 
\begin{verbatim}
oconsult/1
\end{verbatim}

\item \ref{sentenceV95WofV95W3} 
\begin{verbatim}
sentence_of/3
\end{verbatim}

\item \ref{termV95WofV95W2} 
\begin{verbatim}
term_of/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{findV95WwhileV95W4}

\begin{verbatim}
find_while/4
\end{verbatim}

{\small \begin{verbatim}
INFO: findall variant

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{whileV95W2} 
\begin{verbatim}
while/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{findallV95W3}

\begin{verbatim}
findall/3
\end{verbatim}

{\small \begin{verbatim}
INFO: findall(X,G,Xs) collects copies of all answers X of G to Xs. If less then half of the heap is free, it allocates new engine for running G

EXAMPLE(S):

?-findall(s(_A),(member(_A,[1,2,3]),_A > 1),_B).
_A = _x149171;
_B = [s(2),s(3)];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{findallV95W4} 
\begin{verbatim}
findall/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{findallV95W4}

\begin{verbatim}
findall/4
\end{verbatim}

{\small \begin{verbatim}
INFO: findall(X,G,Xs,Ys) appends the list of answers X of G to Ys to obtain Xs

EXAMPLE(S):

?-findall(s(_A),(_A = 1 ; _A = 2),_B,[3,4]).
_A = _x149157;
_B = [s(1),s(2),3,4];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{synchronizeV95WonV95W2} 
\begin{verbatim}
synchronize_on/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{findallV95W3} 
\begin{verbatim}
findall/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{floatV95W1}

\begin{verbatim}
float/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if represented as a 64 bit float number (C-double)

EXAMPLE(S):

?-float(3.14).

yes

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V62WV61WV95W2} 
\begin{verbatim}
(>=)/2
\end{verbatim}

\item \ref{argV95W3} 
\begin{verbatim}
arg/3
\end{verbatim}

\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{numberV95W1} 
\begin{verbatim}
number/1
\end{verbatim}

\item \ref{trimV95WtermV95W4} 
\begin{verbatim}
trim_term/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{floatV95W2}

\begin{verbatim}
float/2
\end{verbatim}

{\small \begin{verbatim}
INFO: float function

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{floorV95W2}

\begin{verbatim}
floor/2
\end{verbatim}

{\small \begin{verbatim}
INFO: float to int function

EXAMPLE(S):

?-floor(1.3,_A).
_A = 1;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{integerV95W2} 
\begin{verbatim}
integer/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{flushV95WoutputV95W0}

\begin{verbatim}
flush_output/0
\end{verbatim}

{\small \begin{verbatim}
INFO: flushes current output stream

\end{verbatim}}

\subsubsection{Predicate:} \label{flushV95WoutputV95W1}

\begin{verbatim}
flush_output/1
\end{verbatim}

{\small \begin{verbatim}
INFO: flushes a stream

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\item \ref{fflushV95W1} 
\begin{verbatim}
fflush/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{foldlV95W4}

\begin{verbatim}
foldl/4
\end{verbatim}

{\small \begin{verbatim}
INFO: (Op,InitialValue,List,?Result) accumulates values interating over List with binary Op

EXAMPLE(S):

?-foldl(+,0,[10,20,30],_A).
_A = 60;

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{prodV95W2} 
\begin{verbatim}
prod/2
\end{verbatim}

\item \ref{sumV95W2} 
\begin{verbatim}
sum/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{foldrV95W4}

\begin{verbatim}
foldr/4
\end{verbatim}

{\small \begin{verbatim}
INFO: (Op,InitialValue,List,?Result) accumulates values interating over List with binary Op

EXAMPLE(S):

?-foldr(+,0,[10,20,30],_A).
_A = 60;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{fopenV95W3}

\begin{verbatim}
fopen/3
\end{verbatim}

{\small \begin{verbatim}
INFO: Prolog equivalent of C-function: opens a stream in a given mode and returns an integer handle to it

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{openV95WstreamV95W4} 
\begin{verbatim}
open_stream/4
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{charV95WofV95W2} 
\begin{verbatim}
char_of/2
\end{verbatim}

\item \ref{file2charsV95W2} 
\begin{verbatim}
file2chars/2
\end{verbatim}

\item \ref{fileV95WsizeV95W2} 
\begin{verbatim}
file_size/2
\end{verbatim}

\item \ref{sentenceV95WofV95W3} 
\begin{verbatim}
sentence_of/3
\end{verbatim}

\item \ref{unixV95WcatV95W1} 
\begin{verbatim}
unix_cat/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{forV95W3}

\begin{verbatim}
for/3
\end{verbatim}

{\small \begin{verbatim}
INFO: generates an integer in a range

EXAMPLE(S):

?-for(_A,1,3).
_A = 1;

_A = 2;

_A = 3;

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{argnV95W3} 
\begin{verbatim}
argn/3
\end{verbatim}

\item \ref{currentV95WopV95W3} 
\begin{verbatim}
current_op/3
\end{verbatim}

\item \ref{dbV95WretractallV95W3} 
\begin{verbatim}
db_retractall/3
\end{verbatim}

\item \ref{infoV95W1} 
\begin{verbatim}
info/1
\end{verbatim}

\item \ref{mapsV95WiterateV95W1} 
\begin{verbatim}
maps_iterate/1
\end{verbatim}

\item \ref{mmapsV95WiterateV95W1} 
\begin{verbatim}
mmaps_iterate/1
\end{verbatim}

\item \ref{newV95WthreadV95WguardV95W1} 
\begin{verbatim}
new_thread_guard/1
\end{verbatim}

\item \ref{rpcV95WtestV95W1} 
\begin{verbatim}
rpc_test/1
\end{verbatim}

\item \ref{timedV95WcallV95W4} 
\begin{verbatim}
timed_call/4
\end{verbatim}

\item \ref{unixV95WargvV95W1} 
\begin{verbatim}
unix_argv/1
\end{verbatim}

\item \ref{unixV95WcatV95W1} 
\begin{verbatim}
unix_cat/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{forV95WallV95W2}

\begin{verbatim}
for_all/2
\end{verbatim}

{\small \begin{verbatim}
INFO: foreach(A,B) fails for all cases when A succeeds and B fails

\end{verbatim}}

\subsubsection{Predicate:} \label{forallV95W1}

\begin{verbatim}
forall/1
\end{verbatim}

{\small \begin{verbatim}
INFO: forall(G) backtracks over all answers to G and succeeds

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{forallV95W2}

\begin{verbatim}
forall/2
\end{verbatim}

{\small \begin{verbatim}
INFO: forall(G,D) executes D once for each answer of generator G

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{onceV95W1} 
\begin{verbatim}
once/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{foreachV95W1}

\begin{verbatim}
foreach/1
\end{verbatim}

{\small \begin{verbatim}
INFO: foreach(G) backtracks over all answers to G and succeeds

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{foreachV95W2}

\begin{verbatim}
foreach/2
\end{verbatim}

{\small \begin{verbatim}
INFO: foreach(G,D) executes D once for each answer of generator G

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{onceV95W1} 
\begin{verbatim}
once/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{assertV95WfromV95WcharsV95W2} 
\begin{verbatim}
assert_from_chars/2
\end{verbatim}

\item \ref{hashV95WloadV95W1} 
\begin{verbatim}
hash_load/1
\end{verbatim}

\item \ref{makeV95WcompileableV95W2} 
\begin{verbatim}
make_compileable/2
\end{verbatim}

\item \ref{mapsV95WcleanV95W0} 
\begin{verbatim}
maps_clean/0
\end{verbatim}

\item \ref{mapsV95WgcV95W0} 
\begin{verbatim}
maps_gc/0
\end{verbatim}

\item \ref{mapsV95WshowV95W0} 
\begin{verbatim}
maps_show/0
\end{verbatim}

\item \ref{mmapsV95WcleanV95W0} 
\begin{verbatim}
mmaps_clean/0
\end{verbatim}

\item \ref{mmapsV95WgcV95W0} 
\begin{verbatim}
mmaps_gc/0
\end{verbatim}

\item \ref{mmapsV95WshowV95W0} 
\begin{verbatim}
mmaps_show/0
\end{verbatim}

\item \ref{spawnV95W3} 
\begin{verbatim}
spawn/3
\end{verbatim}

\item \ref{xV95WconsultV95W1} 
\begin{verbatim}
x_consult/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{fputcV95W2}

\begin{verbatim}
fputc/2
\end{verbatim}

{\small \begin{verbatim}
INFO: fputc(IntegerStreamNo,CharCode) outputs a char code to a C stream

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{putV95WcodeV95W2} 
\begin{verbatim}
put_code/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{freeV95WtermV95W1}

\begin{verbatim}
free_term/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (Handle): frees external term given as a Handle

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WstoreV95WopV95W4} 
\begin{verbatim}
term_store_op/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{freeV95WthreadV95WguardV95W1}

\begin{verbatim}
free_thread_guard/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gives back to pool thread guard in arg 1

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV60WV95W2} 
\begin{verbatim}
(=<)/2
\end{verbatim}

\item \ref{V62WV61WV95W2} 
\begin{verbatim}
(>=)/2
\end{verbatim}

\item \ref{synchronizeV95W2} 
\begin{verbatim}
synchronize/2
\end{verbatim}

\item \ref{synchronizeV95WonV95W2} 
\begin{verbatim}
synchronize_on/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{fromV95WengineV95W1}

\begin{verbatim}
from_engine/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (T) tries to take a term T from the message box of this engine and sets the message box empty

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{bbV95WrmV95W2} 
\begin{verbatim}
bb_rm/2
\end{verbatim}

\item \ref{bbV95WvalV95W3} 
\begin{verbatim}
bb_val/3
\end{verbatim}

\item \ref{thisV95WengineV95W1} 
\begin{verbatim}
this_engine/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{fsizeV95W2}

\begin{verbatim}
fsize/2
\end{verbatim}

{\small \begin{verbatim}
INFO: returns the size of the file associated to a C stream, in bytes

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{fileV95WsizeV95W2} 
\begin{verbatim}
file_size/2
\end{verbatim}

\item \ref{unixV95WcatV95W1} 
\begin{verbatim}
unix_cat/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{functorV95W3}

\begin{verbatim}
functor/3
\end{verbatim}

{\small \begin{verbatim}
INFO: builds or decomposes a coumpound term

EXAMPLE(S):

?-functor(f(a,b),_A,_B).
_A = f;
_B = 2;

no

?-functor(_A,f,3).
_A = f(_x149745,_x149746,_x149747);

no

?-functor(f(a),f,1).

yes

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{aproposV95W2} 
\begin{verbatim}
apropos/2
\end{verbatim}

\item \ref{argnV95W3} 
\begin{verbatim}
argn/3
\end{verbatim}

\item \ref{bagofV95W3} 
\begin{verbatim}
bagof/3
\end{verbatim}

\item \ref{bpV95WinfoV95W2} 
\begin{verbatim}
bp_info/2
\end{verbatim}

\item \ref{callableV95W1} 
\begin{verbatim}
callable/1
\end{verbatim}

\item \ref{currentV95WpredicateV95W1} 
\begin{verbatim}
current_predicate/1
\end{verbatim}

\item \ref{currentV95WpredicateV95W2} 
\begin{verbatim}
current_predicate/2
\end{verbatim}

\item \ref{dbV95WabolishV95W2} 
\begin{verbatim}
db_abolish/2
\end{verbatim}

\item \ref{dbV95WheadV95W2} 
\begin{verbatim}
db_head/2
\end{verbatim}

\item \ref{dbV95WlistingV95W2} 
\begin{verbatim}
db_listing/2
\end{verbatim}

\item \ref{dbV95WmoveV95W2} 
\begin{verbatim}
db_move/2
\end{verbatim}

\item \ref{dbV95WretractallV95W3} 
\begin{verbatim}
db_retractall/3
\end{verbatim}

\item \ref{floatV95W1} 
\begin{verbatim}
float/1
\end{verbatim}

\item \ref{hashV95WsaveV95W2} 
\begin{verbatim}
hash_save/2
\end{verbatim}

\item \ref{listingV95W2} 
\begin{verbatim}
listing/2
\end{verbatim}

\item \ref{nospyV95W1} 
\begin{verbatim}
(nospy)/1
\end{verbatim}

\item \ref{numbervarsV95W3} 
\begin{verbatim}
numbervars/3
\end{verbatim}

\item \ref{setV95WdefaultV95W1} 
\begin{verbatim}
set_default/1
\end{verbatim}

\item \ref{spyV95W1} 
\begin{verbatim}
(spy)/1
\end{verbatim}

\item \ref{xV95WabolishV95W1} 
\begin{verbatim}
x_abolish/1
\end{verbatim}

\item \ref{xV95WdynamicV95W1} 
\begin{verbatim}
x_dynamic/1
\end{verbatim}

\item \ref{xV95WlistingV95W1} 
\begin{verbatim}
x_listing/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{garbageV95WcollectV95W0}

\begin{verbatim}
garbage_collect/0
\end{verbatim}

{\small \begin{verbatim}
INFO: performs heap gc now

\end{verbatim}}

\subsubsection{Predicate:} \label{gcV95W0}

\begin{verbatim}
gc/0
\end{verbatim}

{\small \begin{verbatim}
INFO: enables heap gc

\end{verbatim}}

\subsubsection{Predicate:} \label{gcV95WcallV95W1}

\begin{verbatim}
gc_call/1
\end{verbatim}

{\small \begin{verbatim}
INFO: G: executes G and ensures that no more space is consumed than the total size of the terms bound to its variables

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{gcV95WstatusV95W1}

\begin{verbatim}
gc_status/1
\end{verbatim}

{\small \begin{verbatim}
INFO: shows if heap gc is enabled or not

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{vget0V95W2} 
\begin{verbatim}
vget0/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{genericV95WwriteV95W1}

\begin{verbatim}
generic_write/1
\end{verbatim}

{\small \begin{verbatim}
INFO: overridable write/1, style (writeq, write, display) given with write_style/1 assumption

\end{verbatim}}

\subsubsection{Predicate:} \label{gensymV95W2}

\begin{verbatim}
gensym/2
\end{verbatim}

{\small \begin{verbatim}
INFO: generates a new name based on arg 1

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{gensymV95WnoV95W2} 
\begin{verbatim}
gensym_no/2
\end{verbatim}

\item \ref{symcatV95W3} 
\begin{verbatim}
symcat/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{hashV95WfindV95WuniqueV95W3} 
\begin{verbatim}
hash_find_unique/3
\end{verbatim}

\item \ref{mapV95WnewV95W1} 
\begin{verbatim}
map_new/1
\end{verbatim}

\item \ref{mmapV95WnewV95W1} 
\begin{verbatim}
mmap_new/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{gensymV95WnoV95W2}

\begin{verbatim}
gensym_no/2
\end{verbatim}

{\small \begin{verbatim}
INFO: generates a new number based on arg 1

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{gensymV95W2} 
\begin{verbatim}
gensym/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{getV95W1}

\begin{verbatim}
get/1
\end{verbatim}

{\small \begin{verbatim}
INFO: inputs the next char code after skiping over white space

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V60WV95W2} 
\begin{verbatim}
(<)/2
\end{verbatim}

\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{V62WV95W2} 
\begin{verbatim}
(>)/2
\end{verbatim}

\item \ref{getV95WcodeV95W1} 
\begin{verbatim}
get_code/1
\end{verbatim}

\item \ref{repeatV95W0} 
\begin{verbatim}
repeat/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{getV95W2}

\begin{verbatim}
get/2
\end{verbatim}

{\small \begin{verbatim}
INFO: get(E,A) returns a new answer A=the(...) from engine E or returns no if no (more) answers exist

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{askV95WengineV95W2} 
\begin{verbatim}
ask_engine/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{get0V95W1}

\begin{verbatim}
get0/1
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a char as an ascii code

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{getV95WcodeV95W1} 
\begin{verbatim}
get_code/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{getV95WallV95WtermsV95W2}

\begin{verbatim}
get_all_terms/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (GroundKey,Ts) collects to alist all terms attached to a key

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{closeV95WiteratorV95W1} 
\begin{verbatim}
close_iterator/1
\end{verbatim}

\item \ref{newV95WiteratorV95W2} 
\begin{verbatim}
new_iterator/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{getV95WbpV95WerrorV95W4}

\begin{verbatim}
get_bp_error/4
\end{verbatim}

{\small \begin{verbatim}
INFO: (Id,Mes,Arg1,Arg2): gets error sate from emulator

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\item \ref{vget0V95W2} 
\begin{verbatim}
vget0/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{addqV95W3} 
\begin{verbatim}
addq/3
\end{verbatim}

\item \ref{cpopqV95W3} 
\begin{verbatim}
cpopq/3
\end{verbatim}

\item \ref{pushqV95W3} 
\begin{verbatim}
pushq/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{getV95WcharV95W2}

\begin{verbatim}
get_char/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Stream,CharAsOneLetterConstant): inputs a char from a stream -ISO Prolog

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{V61WV58WV61WV95W2} 
\begin{verbatim}
(=:=)/2
\end{verbatim}

\item \ref{getV95WcodeV95W2} 
\begin{verbatim}
get_code/2
\end{verbatim}

\item \ref{nameV95W2} 
\begin{verbatim}
name/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{getV95WcodeV95W1}

\begin{verbatim}
get_code/1
\end{verbatim}

{\small \begin{verbatim}
INFO: ISO char code reader

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{get0V95W1} 
\begin{verbatim}
get0/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{getV95W1} 
\begin{verbatim}
get/1
\end{verbatim}

\item \ref{pcollectV95W2} 
\begin{verbatim}
pcollect/2
\end{verbatim}

\item \ref{readV95WcharsV95W1} 
\begin{verbatim}
read_chars/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{getV95WcodeV95W2}

\begin{verbatim}
get_code/2
\end{verbatim}

{\small \begin{verbatim}
INFO: inputs a char code from a stream - ISO

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\item \ref{fgetcV95W2} 
\begin{verbatim}
fgetc/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{getV95WcharV95W2} 
\begin{verbatim}
get_char/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{getV95WcriticalV95W2}

\begin{verbatim}
get_critical/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Guard,Data): accesses mutex Guard protected Data on blackboard

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{sdebugV95W1} 
\begin{verbatim}
sdebug/1
\end{verbatim}

\item \ref{synchronizeV95W2} 
\begin{verbatim}
synchronize/2
\end{verbatim}

\item \ref{synchronizeV95WonV95W3} 
\begin{verbatim}
synchronize_on/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{getV95WdeepV95WcutV95W2}

\begin{verbatim}
get_deep_cut/2
\end{verbatim}

{\small \begin{verbatim}
INFO: gets a choice point address, used with 1 arg only

\end{verbatim}}

\subsubsection{Predicate:} \label{getV95WengineV95WidV95W2}

\begin{verbatim}
get_engine_id/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (+Engine,-Id) gets the unique id associated to an engine at creation time

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{getV95WengineV95WpropV95W3} 
\begin{verbatim}
get_engine_prop/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bgV95W7} 
\begin{verbatim}
bg/7
\end{verbatim}

\item \ref{currentV95WengineV95WidV95W1} 
\begin{verbatim}
current_engine_id/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{getV95WengineV95WpropV95W3}

\begin{verbatim}
get_engine_prop/3
\end{verbatim}

{\small \begin{verbatim}
INFO: args: Engine,PropertyNo,Val

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{cleanV95WupV95WenginesV95W1} 
\begin{verbatim}
clean_up_engines/1
\end{verbatim}

\item \ref{getV95WengineV95WidV95W2} 
\begin{verbatim}
get_engine_id/2
\end{verbatim}

\item \ref{getV95WengineV95WthreadV95W2} 
\begin{verbatim}
get_engine_thread/2
\end{verbatim}

\item \ref{listV95WenginesV95W0} 
\begin{verbatim}
list_engines/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{getV95WengineV95WthreadV95W2}

\begin{verbatim}
get_engine_thread/2
\end{verbatim}

{\small \begin{verbatim}
INFO: gets from an Engine the thread it is running on

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{getV95WengineV95WpropV95W3} 
\begin{verbatim}
get_engine_prop/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{currentV95WengineV95WthreadV95W1} 
\begin{verbatim}
current_engine_thread/1
\end{verbatim}

\item \ref{listV95WenginesV95W0} 
\begin{verbatim}
list_engines/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{getV95WlinenoV95W1}

\begin{verbatim}
get_lineno/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets line number counter in current file

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{vgetV95WintV95W2} 
\begin{verbatim}
vget_int/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{includeV95W1} 
\begin{verbatim}
include/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{getV95WloadV95WmethodV95W1}

\begin{verbatim}
get_load_method/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets the current load method by name

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{loadV95WmethodV95W2} 
\begin{verbatim}
load_method/2
\end{verbatim}

\item \ref{vget0V95W2} 
\begin{verbatim}
vget0/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{getV95WneckV95WcutV95W1}

\begin{verbatim}
get_neck_cut/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets the choice point as an integer

\end{verbatim}}

\subsubsection{Predicate:} \label{getV95WnextV95WtermV95W2}

\begin{verbatim}
get_next_term/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Iterator,Term) returns the next term attached to an iterator, fails if no more left

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WstoreV95WopV95W4} 
\begin{verbatim}
term_store_op/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{getV95WpasswordV95W1}

\begin{verbatim}
get_password/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets default password for user

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{showV95WdefaultV95W1} 
\begin{verbatim}
show_default/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{getV95WtermV95W2}

\begin{verbatim}
get_term/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Iterator,Term): backtracks over terms associated to a key

\end{verbatim}}

\subsubsection{Predicate:} \label{globalV95WgetV95W3}

\begin{verbatim}
global_get/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (A,B,X): retrieves X associated to ground keys A,B

\end{verbatim}}

\subsubsection{Predicate:} \label{globalV95WrmV95W2}

\begin{verbatim}
global_rm/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (A,B): removes value associated to ground keys A,B

\end{verbatim}}

\subsubsection{Predicate:} \label{globalV95WsetV95W3}

\begin{verbatim}
global_set/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (A,B,X): associates X to ground keys A,B

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{greaterV95W2}

\begin{verbatim}
greater/2
\end{verbatim}

{\small \begin{verbatim}
INFO: arithemetic comparison

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V62WV95W2} 
\begin{verbatim}
(>)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{greaterV95WeqV95W2}

\begin{verbatim}
greater_eq/2
\end{verbatim}

{\small \begin{verbatim}
INFO: arithemetic comparison

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V62WV61WV95W2} 
\begin{verbatim}
(>=)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{groundV95W1}

\begin{verbatim}
ground/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if arg has no free variables

EXAMPLE(S):

?-ground(f(a,b)).

yes

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{deepV95WhashV95W4} 
\begin{verbatim}
deep_hash/4
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{notV95W1} 
\begin{verbatim}
(not)/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{haltV95W0}

\begin{verbatim}
halt/0
\end{verbatim}

{\small \begin{verbatim}
INFO: stops BinProlog

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{haltV95W1} 
\begin{verbatim}
halt/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{endV95WofV95WfileV95W0} 
\begin{verbatim}
end_of_file/0
\end{verbatim}

\item \ref{exitV95W0} 
\begin{verbatim}
exit/0
\end{verbatim}

\item \ref{quitV95W0} 
\begin{verbatim}
quit/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{haltV95W1}

\begin{verbatim}
halt/1
\end{verbatim}

{\small \begin{verbatim}
INFO: stops Prolog with given return code when used in main thread- or halts current thread

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{haltV95W0} 
\begin{verbatim}
halt/0
\end{verbatim}

\item \ref{stopV95W0} 
\begin{verbatim}
stop/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{handleV95WserviceV95W2}

\begin{verbatim}
handle_service/2
\end{verbatim}

{\small \begin{verbatim}
INFO: handles a Jinni service S with password P - always succedes

\end{verbatim}}

\subsubsection{Predicate:} \label{hasV95WinfoV95W1}

\begin{verbatim}
has_info/1
\end{verbatim}

{\small \begin{verbatim}
INFO: checks/generates predicates Pred/Arity for which info is available

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V92WV61WV61WV95W2} 
\begin{verbatim}
(\==)/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{infoV95W1} 
\begin{verbatim}
info/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hasV95WtermsV95W1}

\begin{verbatim}
has_terms/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (GroundKey) succeds if at least on term is attached to GroundKey

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{termV95WstoreV95WopV95W4} 
\begin{verbatim}
term_store_op/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hasV95WthreadsV95W0}

\begin{verbatim}
has_threads/0
\end{verbatim}

{\small \begin{verbatim}
INFO: succeeds if threads available on this platform

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V62WV95W2} 
\begin{verbatim}
(>)/2
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{vreadV95W2} 
\begin{verbatim}
vread/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bgV95W7} 
\begin{verbatim}
bg/7
\end{verbatim}

\item \ref{synchronizeV95WonV95W2} 
\begin{verbatim}
synchronize_on/2
\end{verbatim}

\item \ref{timedV95WcallV95W4} 
\begin{verbatim}
timed_call/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hashV95WclearV95W0}

\begin{verbatim}
hash_clear/0
\end{verbatim}

{\small \begin{verbatim}
INFO: removes all terms from all hash keys

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{mmapV95WclearV95W1} 
\begin{verbatim}
mmap_clear/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{hashV95WloadV95W1} 
\begin{verbatim}
hash_load/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hashV95WclearV95W1}

\begin{verbatim}
hash_clear/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (GroundKey) removes all terms attached to a key

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V35WV35WV95W1} 
\begin{verbatim}
(##)/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hashV95WclearV95W2}

\begin{verbatim}
hash_clear/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (GroundKey,Term) removes all matching terms attached to a key

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{mmapV95WrmV95W3} 
\begin{verbatim}
mmap_rm/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hashV95WcompileV95W0}

\begin{verbatim}
hash_compile/0
\end{verbatim}

{\small \begin{verbatim}
INFO: compiles the hashed map to a predicate benefiting from 1-arg indexing

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{ctimeV95W1} 
\begin{verbatim}
ctime/1
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\item \ref{ttyprintV95W1} 
\begin{verbatim}
ttyprint/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hashV95WfindV95WuniqueV95W3}

\begin{verbatim}
hash_find_unique/3
\end{verbatim}

{\small \begin{verbatim}
INFO: like findall(X,G,Xs) but uses hashing on ground term X to collect unique answers

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{gensymV95W2} 
\begin{verbatim}
gensym/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hashV95WgcV95W0}

\begin{verbatim}
hash_gc/0
\end{verbatim}

{\small \begin{verbatim}
INFO: frees space used by hash keys and values

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{mmapV95WgcV95W1} 
\begin{verbatim}
mmap_gc/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hashV95WgetV95W2}

\begin{verbatim}
hash_get/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (GroundKey,Term) retrieves in constant time a term attached to a ground key

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{hashV95WkeyV95W1} 
\begin{verbatim}
hash_key/1
\end{verbatim}

\item \ref{varV95W1} 
\begin{verbatim}
var/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{xV95WlistingV95W0} 
\begin{verbatim}
x_listing/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hashV95WkeyV95W1}

\begin{verbatim}
hash_key/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (IntKey) backtrack over hash keys

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V36WhxV95W3} 
\begin{verbatim}
$hx/3
\end{verbatim}

\item \ref{isV95WcompiledV95W1} 
\begin{verbatim}
is_compiled/1
\end{verbatim}

\item \ref{onceV95W1} 
\begin{verbatim}
once/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{hashV95WgetV95W2} 
\begin{verbatim}
hash_get/2
\end{verbatim}

\item \ref{hashV95WsaveV95W2} 
\begin{verbatim}
hash_save/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hashV95WloadV95W1}

\begin{verbatim}
hash_load/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (File) loads the hashed map to a database

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{argV95W3} 
\begin{verbatim}
arg/3
\end{verbatim}

\item \ref{foreachV95W2} 
\begin{verbatim}
foreach/2
\end{verbatim}

\item \ref{hashV95WclearV95W0} 
\begin{verbatim}
hash_clear/0
\end{verbatim}

\item \ref{termV95WofV95W2} 
\begin{verbatim}
term_of/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hashV95WpushV95W2}

\begin{verbatim}
hash_push/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (GroundKey,Term): attaches a term to a ground key in constant time as a the first element

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{mmapV95WpushV95W3} 
\begin{verbatim}
mmap_push/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hashV95WputV95W2}

\begin{verbatim}
hash_put/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (GroundKey,Term): attaches a term to a ground key in constant time as the last element

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V35WV35WV95W1} 
\begin{verbatim}
(##)/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hashV95WrmV95W2}

\begin{verbatim}
hash_rm/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (GroundKey) removes a term attached to a key and returns it - backtracks

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V35WV35WV95W1} 
\begin{verbatim}
(##)/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hashV95WrmV95WoneV95W2}

\begin{verbatim}
hash_rm_one/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (GroundKey) removes a term attached to a key and returns it

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V35WV35WV95W1} 
\begin{verbatim}
(##)/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hashV95WsaveV95W1}

\begin{verbatim}
hash_save/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (File) saves the hashed map to a database ready for 1-arg indexing if compiled

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{hashV95WsaveV95W2} 
\begin{verbatim}
hash_save/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hashV95WsaveV95W2}

\begin{verbatim}
hash_save/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (File,PredNMame) saves the hashed map to a database in predicate PredName ready for 1-arg indexing if compiled

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{argV95W3} 
\begin{verbatim}
arg/3
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\item \ref{hashV95WkeyV95W1} 
\begin{verbatim}
hash_key/1
\end{verbatim}

\item \ref{keygroupV95W3} 
\begin{verbatim}
keygroup/3
\end{verbatim}

\item \ref{ppV95WclauseV95W1} 
\begin{verbatim}
pp_clause/1
\end{verbatim}

\item \ref{tellV95W1} 
\begin{verbatim}
tell/1
\end{verbatim}

\item \ref{toldV95W0} 
\begin{verbatim}
told/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{hashV95WsaveV95W1} 
\begin{verbatim}
hash_save/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hashV95WtraceV95W2}

\begin{verbatim}
hash_trace/2
\end{verbatim}

{\small \begin{verbatim}
INFO: tracer for hash maps

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{isV95WcompiledV95W1} 
\begin{verbatim}
is_compiled/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{helpV95W0}

\begin{verbatim}
help/0
\end{verbatim}

{\small \begin{verbatim}
INFO: generates file help.txt with info and examples

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{nlV95W0} 
\begin{verbatim}
nl/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{helpV95W1}

\begin{verbatim}
help/1
\end{verbatim}

{\small \begin{verbatim}
INFO: same as apropos/1

EXAMPLE(S):

?-help(assert).
use info/1 to get a description of a predicate
assert/1-[built_in,adds a clause]
assert_from_chars/1-[built_in,asserts a program from clauses in list of chars]
assert_from_chars/2-[built_in,(Db,Cs) asserts to database Db, a set of clauses parsed from list of char codes Cs]
asserta/1-[built_in,adds a clause to be first in a predicate definition]
asserted/1-[built_in,runs a predicated if asserted]
assertz/1-[built_in,adds a clause to be last in a predicate definition]
db_assert/2-[built_in,does assert/1 arg 2 into database given as arg 1]
db_asserta/2-[built_in,does asserta/1 arg 2 into database given as arg 1]
db_asserted/2-[built_in,runs predicate arg 2 if asserted in database arg 1]
db_assertz/2-[built_in,does assertz/1 arg 2 into database given as arg 1]
get_asserted/2-[built_in]
is_asserted/1-[built_in,checks if currently asserted]
prolog:assert_it/2-[compiled]
prolog:db_is_asserted/2-[compiled]
prolog:is_asserted_clause/1-[compiled]
prolog:x_assert/2-[compiled]
prolog:x_assert_op/3-[compiled]
x_asserta/1-[built_in,db hook, adds a clause to be first in a predicate definition]
x_assertz/1-[built_in,db hook, adds a clause to be last in a predicate definition]

yes

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{aproposV95W1} 
\begin{verbatim}
apropos/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hideV95WdefaultV95W1}

\begin{verbatim}
hide_default/1
\end{verbatim}

{\small \begin{verbatim}
INFO: makes unavailable a default value

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bbV95WletV95W3} 
\begin{verbatim}
bb_let/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{setV95WpasswordV95W1} 
\begin{verbatim}
set_password/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hkeyV95W2}

\begin{verbatim}
hkey/2
\end{verbatim}

{\small \begin{verbatim}
INFO: computes hash code on atomic argument; fails on variables and compound terms

EXAMPLE(S):

?-hkey(t(a,b),_A).
_A = 236945626;

no

?-hkey(t(a,c),_A).
_A = 236945625;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{deepV95WhashV95W4} 
\begin{verbatim}
deep_hash/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{host2ipV95W2}

\begin{verbatim}
host2ip/2
\end{verbatim}

{\small \begin{verbatim}
INFO: converts a host name to an IP address

\end{verbatim}}

\subsubsection{Predicate:} \label{hostnameV95W1}

\begin{verbatim}
hostname/1
\end{verbatim}

{\small \begin{verbatim}
INFO: the name of current host, if detected, localhost if not

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{vreadV95W2} 
\begin{verbatim}
vread/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{hypotV95W3}

\begin{verbatim}
hypot/3
\end{verbatim}

{\small \begin{verbatim}
INFO: float function

\end{verbatim}}

\subsubsection{Predicate:} \label{ifV95WanyV95W3}

\begin{verbatim}
if_any/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (Cond,Then,Else): executes Cond; each time when Cond succeeds it also executes Then; if Cond never succeds it executes Else

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{argV95W3} 
\begin{verbatim}
arg/3
\end{verbatim}

\item \ref{changeV95WargV95W3} 
\begin{verbatim}
change_arg/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{inV95W1}

\begin{verbatim}
in/1
\end{verbatim}

{\small \begin{verbatim}
INFO: waits to remove a term from Linda blackboard

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{localV95WinV95W1} 
\begin{verbatim}
local_in/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{includeV95W1}

\begin{verbatim}
include/1
\end{verbatim}

{\small \begin{verbatim}
INFO: includes/loads a file with current load method, unless it has already been included by the same method

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{callV95W2} 
\begin{verbatim}
call/2
\end{verbatim}

\item \ref{debugmesV95W1} 
\begin{verbatim}
debugmes/1
\end{verbatim}

\item \ref{getV95WlinenoV95W1} 
\begin{verbatim}
get_lineno/1
\end{verbatim}

\item \ref{loadV95WmethodV95W2} 
\begin{verbatim}
load_method/2
\end{verbatim}

\item \ref{setV95WlinenoV95W1} 
\begin{verbatim}
set_lineno/1
\end{verbatim}

\item \ref{vget0V95W2} 
\begin{verbatim}
vget0/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{coV95W0} 
\begin{verbatim}
co/0
\end{verbatim}

\item \ref{editV95W2} 
\begin{verbatim}
edit/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{infoV95W0}

\begin{verbatim}
info/0
\end{verbatim}

{\small \begin{verbatim}
INFO: generates info on predicates with examples

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{infoV95W1} 
\begin{verbatim}
info/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{infoV95W1}

\begin{verbatim}
info/1
\end{verbatim}

{\small \begin{verbatim}
INFO: generates info and examples of use for predicate Pred/Arity

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{forV95W3} 
\begin{verbatim}
for/3
\end{verbatim}

\item \ref{hasV95WinfoV95W1} 
\begin{verbatim}
has_info/1
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\item \ref{writeV95W1} 
\begin{verbatim}
write/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{infoV95W0} 
\begin{verbatim}
info/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{initV95WgensymV95W1}

\begin{verbatim}
init_gensym/1
\end{verbatim}

{\small \begin{verbatim}
INFO: resets gensym for names based on arg 1

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bbV95WletV95W3} 
\begin{verbatim}
bb_let/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{mapsV95WcleanV95W0} 
\begin{verbatim}
maps_clean/0
\end{verbatim}

\item \ref{mmapsV95WcleanV95W0} 
\begin{verbatim}
mmaps_clean/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{instanceV95WofV95W2}

\begin{verbatim}
instance_of/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Handle,Term): creates an internal instance of an external term given as a Handle

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WstoreV95WopV95W4} 
\begin{verbatim}
term_store_op/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{integerV95W1}

\begin{verbatim}
integer/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if an integer

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{atomV95W1} 
\begin{verbatim}
atom/1
\end{verbatim}

\item \ref{dbV95WratioV95W1} 
\begin{verbatim}
db_ratio/1
\end{verbatim}

\item \ref{numberV95W1} 
\begin{verbatim}
number/1
\end{verbatim}

\item \ref{quietV95W1} 
\begin{verbatim}
quiet/1
\end{verbatim}

\item \ref{setV95WlinenoV95W1} 
\begin{verbatim}
set_lineno/1
\end{verbatim}

\item \ref{setV95WportV95W1} 
\begin{verbatim}
set_port/1
\end{verbatim}

\item \ref{setV95WthisV95WportV95W1} 
\begin{verbatim}
set_this_port/1
\end{verbatim}

\item \ref{tabV95W1} 
\begin{verbatim}
tab/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{integerV95W2}

\begin{verbatim}
integer/2
\end{verbatim}

{\small \begin{verbatim}
INFO: float to int cast

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{ceilingV95W2} 
\begin{verbatim}
ceiling/2
\end{verbatim}

\item \ref{floorV95W2} 
\begin{verbatim}
floor/2
\end{verbatim}

\item \ref{truncateV95W2} 
\begin{verbatim}
truncate/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{interactiveV95W1}

\begin{verbatim}
interactive/1
\end{verbatim}

{\small \begin{verbatim}
INFO: toggles interactive query answering/tracing with arg 1 = yes or no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{isV95WinteractiveV95W0} 
\begin{verbatim}
is_interactive/0
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\item \ref{varV95W1} 
\begin{verbatim}
var/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{isV95W2}

\begin{verbatim}
(is)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: calls the function evaluator, mostly for arithmetics

EXAMPLE(S):

?-_A is 3+4*2.
_A = 11;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{absV95W2} 
\begin{verbatim}
abs/2
\end{verbatim}

\item \ref{abstimeV95W1} 
\begin{verbatim}
abstime/1
\end{verbatim}

\item \ref{bbV95Wgc0V95W0} 
\begin{verbatim}
bb_gc0/0
\end{verbatim}

\item \ref{bpV95WinfoV95W2} 
\begin{verbatim}
bp_info/2
\end{verbatim}

\item \ref{ceilingV95W2} 
\begin{verbatim}
ceiling/2
\end{verbatim}

\item \ref{dyncoV95W1} 
\begin{verbatim}
dynco/1
\end{verbatim}

\item \ref{floatV95W2} 
\begin{verbatim}
float/2
\end{verbatim}

\item \ref{gensymV95WnoV95W2} 
\begin{verbatim}
gensym_no/2
\end{verbatim}

\item \ref{hashV95WcompileV95W0} 
\begin{verbatim}
hash_compile/0
\end{verbatim}

\item \ref{nthV95WanswerV95W2} 
\begin{verbatim}
nth_answer/2
\end{verbatim}

\item \ref{numbervarsV95W3} 
\begin{verbatim}
numbervars/3
\end{verbatim}

\item \ref{roundV95W2} 
\begin{verbatim}
round/2
\end{verbatim}

\item \ref{rpcV95WtestV95W1} 
\begin{verbatim}
rpc_test/1
\end{verbatim}

\item \ref{toV95WlowerV95WcharV95W2} 
\begin{verbatim}
to_lower_char/2
\end{verbatim}

\item \ref{toV95WupperV95WcharV95W2} 
\begin{verbatim}
to_upper_char/2
\end{verbatim}

\item \ref{trimV95WtermV95W4} 
\begin{verbatim}
trim_term/4
\end{verbatim}

\item \ref{unixV95WargvV95W1} 
\begin{verbatim}
unix_argv/1
\end{verbatim}

\item \ref{xV95WgcV95W0} 
\begin{verbatim}
x_gc/0
\end{verbatim}

\item \ref{xV95WprofileV95W0} 
\begin{verbatim}
x_profile/0
\end{verbatim}

\item \ref{xV95WtracedV95WcallV95W1} 
\begin{verbatim}
x_traced_call/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{isV95WanV95W1}

\begin{verbatim}
is_an/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if an alphanumerical char code

\end{verbatim}}

\subsubsection{Predicate:} \label{isV95WassertedV95W1}

\begin{verbatim}
is_asserted/1
\end{verbatim}

{\small \begin{verbatim}
INFO: checks if currently asserted

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{isV95WdynamicV95W1} 
\begin{verbatim}
is_dynamic/1
\end{verbatim}

\item \ref{listingV95W2} 
\begin{verbatim}
listing/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{isV95WbuiltinV95W1}

\begin{verbatim}
is_builtin/1
\end{verbatim}

{\small \begin{verbatim}
INFO: recognizes a predicate head as a builtin

EXAMPLE(S):

?-is_builtin(var(_A)).
_A = _x148944;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{spyV95W1} 
\begin{verbatim}
(spy)/1
\end{verbatim}

\item \ref{spyingV95W1} 
\begin{verbatim}
spying/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{isV95WcompiledV95W1}

\begin{verbatim}
is_compiled/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if head of a compiled predicate

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V35WV35WV95W1} 
\begin{verbatim}
(##)/1
\end{verbatim}

\item \ref{callV95WifdefV95W2} 
\begin{verbatim}
call_ifdef/2
\end{verbatim}

\item \ref{callableV95W1} 
\begin{verbatim}
callable/1
\end{verbatim}

\item \ref{hashV95WkeyV95W1} 
\begin{verbatim}
hash_key/1
\end{verbatim}

\item \ref{hashV95WtraceV95W2} 
\begin{verbatim}
hash_trace/2
\end{verbatim}

\item \ref{listingV95W2} 
\begin{verbatim}
listing/2
\end{verbatim}

\item \ref{xV95WtraceV95W2} 
\begin{verbatim}
x_trace/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{isV95WdiscontiguousV95W1}

\begin{verbatim}
is_discontiguous/1
\end{verbatim}

{\small \begin{verbatim}
INFO: checks if a predicate has been declared as discontiguous

\end{verbatim}}

\subsubsection{Predicate:} \label{isV95WdynamicV95W1}

\begin{verbatim}
is_dynamic/1
\end{verbatim}

{\small \begin{verbatim}
INFO: checks if dynamic

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{isV95WassertedV95W1} 
\begin{verbatim}
is_asserted/1
\end{verbatim}

\item \ref{xV95WisV95WdynamicV95W1} 
\begin{verbatim}
x_is_dynamic/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{callableV95W1} 
\begin{verbatim}
callable/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{isV95WengineV95W1}

\begin{verbatim}
is_engine/1
\end{verbatim}

{\small \begin{verbatim}
INFO: recognizes and integer as an engine handle

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{listV95WenginesV95W1} 
\begin{verbatim}
list_engines/1
\end{verbatim}

\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{isV95WinteractiveV95W0}

\begin{verbatim}
is_interactive/0
\end{verbatim}

{\small \begin{verbatim}
INFO: checks if toplevel is interactive - use interactive/1 with yes/no to set it the way you want it

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WopV95W3} 
\begin{verbatim}
current_op/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{interactiveV95W1} 
\begin{verbatim}
interactive/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{isV95WmajV95W1}

\begin{verbatim}
is_maj/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if is an upper case char code

\end{verbatim}}

\subsubsection{Predicate:} \label{isV95WminV95W1}

\begin{verbatim}
is_min/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if a lower case char code

\end{verbatim}}

\subsubsection{Predicate:} \label{isV95WmoduleV95W1}

\begin{verbatim}
is_module/1
\end{verbatim}

{\small \begin{verbatim}
INFO: recognizes/generates a module name

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bbV95WvalV95W3} 
\begin{verbatim}
bb_val/3
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{modulesV95W1} 
\begin{verbatim}
modules/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{isV95WnumV95W1}

\begin{verbatim}
is_num/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if a digit char code

\end{verbatim}}

\subsubsection{Predicate:} \label{isV95WprologV95W1}

\begin{verbatim}
is_prolog/1
\end{verbatim}

{\small \begin{verbatim}
INFO: recognizes binprolog - useful for portability

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{bbV95WvalV95W3} 
\begin{verbatim}
bb_val/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bpV95WonlyV95W2} 
\begin{verbatim}
bp_only/2
\end{verbatim}

\item \ref{scompileV95W1} 
\begin{verbatim}
scompile/1
\end{verbatim}

\item \ref{staticV95WprologV95WflagV95W2} 
\begin{verbatim}
static_prolog_flag/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{isV95WpublicV95W1}

\begin{verbatim}
is_public/1
\end{verbatim}

{\small \begin{verbatim}
INFO: checks predicate head if globally visible

\end{verbatim}}

\subsubsection{Predicate:} \label{isV95WspecV95W1}

\begin{verbatim}
is_spec/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if a spacial character code

\end{verbatim}}

\subsubsection{Predicate:} \label{isV95WterminatorV95W1}

\begin{verbatim}
is_terminator/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if a terminator character code

\end{verbatim}}

\subsubsection{Predicate:} \label{keygroupV95W3}

\begin{verbatim}
keygroup/3
\end{verbatim}

{\small \begin{verbatim}
INFO: sorts while grouping similar keys

EXAMPLE(S):

?-keygroup([3-a,1-a,2-b,1-c,2-d],_A,_B).
_A = 1;
_B = [a,c];

_A = 2;
_B = [b,d];

_A = 3;
_B = [a];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{keysortV95W2} 
\begin{verbatim}
keysort/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{hashV95WsaveV95W2} 
\begin{verbatim}
hash_save/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{keysortV95W2}

\begin{verbatim}
keysort/2
\end{verbatim}

{\small \begin{verbatim}
INFO: sorts while putting similar keys one after the other in a list

EXAMPLE(S):

?-keysort([3-a,1-a,2-b,1-c,2-d],_A).
_A = [1-a,1-c,2-b,2-d,3-a];

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bagofV95W3} 
\begin{verbatim}
bagof/3
\end{verbatim}

\item \ref{keygroupV95W3} 
\begin{verbatim}
keygroup/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{lengthV95W2}

\begin{verbatim}
length/2
\end{verbatim}

{\small \begin{verbatim}
INFO: generates/mesures length of a list

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{varV95W1} 
\begin{verbatim}
var/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{mergeV95WsortV95W3} 
\begin{verbatim}
merge_sort/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{lessV95W2}

\begin{verbatim}
less/2
\end{verbatim}

{\small \begin{verbatim}
INFO: arithemetic comparison

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V60WV95W2} 
\begin{verbatim}
(<)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{lessV95WeqV95W2}

\begin{verbatim}
less_eq/2
\end{verbatim}

{\small \begin{verbatim}
INFO: arithemetic comparison

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V61WV60WV95W2} 
\begin{verbatim}
(=<)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{lineV95WofV95W2}

\begin{verbatim}
line_of/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (File,Line) reads a file to lines ending with eol - on backtracking

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{sentenceV95WofV95W3} 
\begin{verbatim}
sentence_of/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{tokenV95WofV95W2} 
\begin{verbatim}
token_of/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{listV95WenginesV95W0}

\begin{verbatim}
list_engines/0
\end{verbatim}

{\small \begin{verbatim}
INFO: prints out the list of active engines

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{getV95WengineV95WpropV95W3} 
\begin{verbatim}
get_engine_prop/3
\end{verbatim}

\item \ref{getV95WengineV95WthreadV95W2} 
\begin{verbatim}
get_engine_thread/2
\end{verbatim}

\item \ref{listV95WenginesV95W1} 
\begin{verbatim}
list_engines/1
\end{verbatim}

\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\item \ref{nlV95W0} 
\begin{verbatim}
nl/0
\end{verbatim}

\item \ref{writeV95W1} 
\begin{verbatim}
write/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{listV95WenginesV95W1}

\begin{verbatim}
list_engines/1
\end{verbatim}

{\small \begin{verbatim}
INFO: lists available engine handles

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{cleanV95WupV95WenginesV95W1} 
\begin{verbatim}
clean_up_engines/1
\end{verbatim}

\item \ref{isV95WengineV95W1} 
\begin{verbatim}
is_engine/1
\end{verbatim}

\item \ref{listV95WenginesV95W0} 
\begin{verbatim}
list_engines/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{listifyV95W2}

\begin{verbatim}
listify/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (T,Cs): transforms T, unless it is already such, to list of chars

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{atomV95WcodesV95W2} 
\begin{verbatim}
atom_codes/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{listingV95W0}

\begin{verbatim}
listing/0
\end{verbatim}

{\small \begin{verbatim}
INFO: lists current database

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{listingV95W2} 
\begin{verbatim}
listing/2
\end{verbatim}

\item \ref{xV95WlistingV95W0} 
\begin{verbatim}
x_listing/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{listingV95W1}

\begin{verbatim}
listing/1
\end{verbatim}

{\small \begin{verbatim}
INFO: lists given predicate if in current database

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{listingV95W2} 
\begin{verbatim}
listing/2
\end{verbatim}

\item \ref{nlV95W0} 
\begin{verbatim}
nl/0
\end{verbatim}

\item \ref{xV95WlistingV95W1} 
\begin{verbatim}
x_listing/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{listingV95W2}

\begin{verbatim}
listing/2
\end{verbatim}

{\small \begin{verbatim}
INFO: lists predicate F of arity N if in current database

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\item \ref{isV95WassertedV95W1} 
\begin{verbatim}
is_asserted/1
\end{verbatim}

\item \ref{isV95WcompiledV95W1} 
\begin{verbatim}
is_compiled/1
\end{verbatim}

\item \ref{nlV95W0} 
\begin{verbatim}
nl/0
\end{verbatim}

\item \ref{writeV95W1} 
\begin{verbatim}
write/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{listingV95W0} 
\begin{verbatim}
listing/0
\end{verbatim}

\item \ref{listingV95W1} 
\begin{verbatim}
listing/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{loadV95W1}

\begin{verbatim}
load/1
\end{verbatim}

{\small \begin{verbatim}
INFO: clean loads from a bytecode *.wam file

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{abortV95W0} 
\begin{verbatim}
abort/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{loadV95WengineV95W3}

\begin{verbatim}
load_engine/3
\end{verbatim}

{\small \begin{verbatim}
INFO: load_engine(E,Goal,Answer) prepares engine E to execute Goal/Answer

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bgV95W7} 
\begin{verbatim}
bg/7
\end{verbatim}

\item \ref{openV95WengineV95W3} 
\begin{verbatim}
open_engine/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{loadV95WmethodV95W2}

\begin{verbatim}
load_method/2
\end{verbatim}

{\small \begin{verbatim}
INFO: args: Number, Name

EXAMPLE(S):

?-load_method(_A,_B).
_A = 1;
_B = mcompile;

_A = 2;
_B = scompile;

_A = 3;
_B = oconsult;

_A = 4;
_B = dconsult;

_A = 5;
_B = sconsult;

_A = 6;
_B = load;

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{getV95WloadV95WmethodV95W1} 
\begin{verbatim}
get_load_method/1
\end{verbatim}

\item \ref{includeV95W1} 
\begin{verbatim}
include/1
\end{verbatim}

\item \ref{setV95WloadV95WmethodV95W1} 
\begin{verbatim}
set_load_method/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{localV95WallV95W2}

\begin{verbatim}
local_all/2
\end{verbatim}

{\small \begin{verbatim}
INFO: local_all(X,Xs) collects all facts matching X on the blackboard

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{localV95WallV95W3} 
\begin{verbatim}
local_all/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{allV95W2} 
\begin{verbatim}
all/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{localV95WallV95W3}

\begin{verbatim}
local_all/3
\end{verbatim}

{\small \begin{verbatim}
INFO: local_all(X,G,Xs) collects facts X such that G on the blackboard

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{synchronizeV95WonV95W2} 
\begin{verbatim}
synchronize_on/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{allV95W3} 
\begin{verbatim}
all/3
\end{verbatim}

\item \ref{localV95WallV95W2} 
\begin{verbatim}
local_all/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{localV95WcinV95W1}

\begin{verbatim}
local_cin/1
\end{verbatim}

{\small \begin{verbatim}
INFO: removes a term if available on the local blackboard

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{synchronizeV95WonV95W2} 
\begin{verbatim}
synchronize_on/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{cinV95W1} 
\begin{verbatim}
cin/1
\end{verbatim}

\item \ref{localV95WinV95W1} 
\begin{verbatim}
local_in/1
\end{verbatim}

\item \ref{timedV95WcallV95W4} 
\begin{verbatim}
timed_call/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{localV95WcoutV95W1}

\begin{verbatim}
local_cout/1
\end{verbatim}

{\small \begin{verbatim}
INFO: puts a term on local blackbord unless already there

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{localV95WoutV95W1} 
\begin{verbatim}
local_out/1
\end{verbatim}

\item \ref{localV95WrdV95W1} 
\begin{verbatim}
local_rd/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{coutV95W1} 
\begin{verbatim}
cout/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{localV95WinV95W1}

\begin{verbatim}
local_in/1
\end{verbatim}

{\small \begin{verbatim}
INFO: waits for a term produced by a matching local_out/1

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WengineV95WthreadV95W1} 
\begin{verbatim}
current_engine_thread/1
\end{verbatim}

\item \ref{localV95WcinV95W1} 
\begin{verbatim}
local_cin/1
\end{verbatim}

\item \ref{synchronizeV95WonV95W2} 
\begin{verbatim}
synchronize_on/2
\end{verbatim}

\item \ref{threadV95WsuspendV95W1} 
\begin{verbatim}
thread_suspend/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{inV95W1} 
\begin{verbatim}
in/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{localV95WoutV95W1}

\begin{verbatim}
local_out/1
\end{verbatim}

{\small \begin{verbatim}
INFO: produces a term and possibly wakes up the thread at a matching local_in/1

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{synchronizeV95WonV95W2} 
\begin{verbatim}
synchronize_on/2
\end{verbatim}

\item \ref{threadV95WresumeV95W1} 
\begin{verbatim}
thread_resume/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{localV95WcoutV95W1} 
\begin{verbatim}
local_cout/1
\end{verbatim}

\item \ref{outV95W1} 
\begin{verbatim}
out/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{localV95WrdV95W1}

\begin{verbatim}
local_rd/1
\end{verbatim}

{\small \begin{verbatim}
INFO: tests if a term is available on the local blackboard

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{synchronizeV95WonV95W2} 
\begin{verbatim}
synchronize_on/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{localV95WcoutV95W1} 
\begin{verbatim}
local_cout/1
\end{verbatim}

\item \ref{localV95WwhenV95W1} 
\begin{verbatim}
local_when/1
\end{verbatim}

\item \ref{rdV95W1} 
\begin{verbatim}
rd/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{localV95WwhenV95W1}

\begin{verbatim}
local_when/1
\end{verbatim}

{\small \begin{verbatim}
INFO: waits until a term is available on the local blackboard

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WengineV95WthreadV95W1} 
\begin{verbatim}
current_engine_thread/1
\end{verbatim}

\item \ref{localV95WrdV95W1} 
\begin{verbatim}
local_rd/1
\end{verbatim}

\item \ref{synchronizeV95WonV95W2} 
\begin{verbatim}
synchronize_on/2
\end{verbatim}

\item \ref{threadV95WsuspendV95W1} 
\begin{verbatim}
thread_suspend/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{lockV95WthreadV95WguardV95W1}

\begin{verbatim}
lock_thread_guard/1
\end{verbatim}

{\small \begin{verbatim}
INFO: locks thread guard created with new_thread_guard

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{beginV95WcriticalV95W0} 
\begin{verbatim}
begin_critical/0
\end{verbatim}

\item \ref{synchronizeV95WonV95W3} 
\begin{verbatim}
synchronize_on/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{logV95W2}

\begin{verbatim}
log/2
\end{verbatim}

{\small \begin{verbatim}
INFO: float function

\end{verbatim}}

\subsubsection{Predicate:} \label{logV95W3}

\begin{verbatim}
log/3
\end{verbatim}

{\small \begin{verbatim}
INFO: returns log in base arg 1 of arg 2, a float

EXAMPLE(S):

?-log(2,8,_A).
_A = 3;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{lsV95W0}

\begin{verbatim}
ls/0
\end{verbatim}

{\small \begin{verbatim}
INFO: list files under Unix

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{systemV95W1} 
\begin{verbatim}
system/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{ls2listV95W2}

\begin{verbatim}
ls2list/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Dir,Files): converts ls cmd output to list of files and dirs

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dir2listV95W3} 
\begin{verbatim}
dir2list/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{lvalV95W3}

\begin{verbatim}
lval/3
\end{verbatim}

{\small \begin{verbatim}
INFO: backtrackable: lval(K1,K2,V) associates V to keys K1 and K2

EXAMPLE(S):

?-lval(a,b,f(_A)).
_A = _x148841;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{makeV95WarrayV95W2}

\begin{verbatim}
make_array/2
\end{verbatim}

{\small \begin{verbatim}
INFO: creates an array

\end{verbatim}}

\subsubsection{Predicate:} \label{makeV95WcmdV95W2}

\begin{verbatim}
make_cmd/2
\end{verbatim}

{\small \begin{verbatim}
INFO: concatenates a list of strings and atomic elements into an atom

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{atomV95WcodesV95W2} 
\begin{verbatim}
atom_codes/2
\end{verbatim}

\item \ref{makeV95Wcmd0V95W2} 
\begin{verbatim}
make_cmd0/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{editV95W2} 
\begin{verbatim}
edit/2
\end{verbatim}

\item \ref{makeV95WspacedV95WcmdV95W2} 
\begin{verbatim}
make_spaced_cmd/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{makeV95Wcmd0V95W2}

\begin{verbatim}
make_cmd0/2
\end{verbatim}

{\small \begin{verbatim}
INFO: concatenates a list of strings and atomic elements into a string

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{makeV95WcmdV95W2} 
\begin{verbatim}
make_cmd/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{makeV95WcompileableV95W2}

\begin{verbatim}
make_compileable/2
\end{verbatim}

{\small \begin{verbatim}
INFO: make_compilable(Files,File) rewrites Files as a canonical File with all predicates contiguous and no operators

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{atomicV95W1} 
\begin{verbatim}
atomic/1
\end{verbatim}

\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\item \ref{dbV95WcleanV95W1} 
\begin{verbatim}
db_clean/1
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{foreachV95W2} 
\begin{verbatim}
foreach/2
\end{verbatim}

\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\item \ref{tellV95W1} 
\begin{verbatim}
tell/1
\end{verbatim}

\item \ref{tellingV95W1} 
\begin{verbatim}
telling/1
\end{verbatim}

\item \ref{toldV95W0} 
\begin{verbatim}
told/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{makeV95WspacedV95WcmdV95W2}

\begin{verbatim}
make_spaced_cmd/2
\end{verbatim}

{\small \begin{verbatim}
INFO: concatenates a list of elements with inserted space separtors into an atom

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{makeV95WcmdV95W2} 
\begin{verbatim}
make_cmd/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mapV95W2}

\begin{verbatim}
map/2
\end{verbatim}

{\small \begin{verbatim}
INFO: maps a predicate with 1 arg to a list

EXAMPLE(S):

?-map(println,[10,20,30]).
10
20
30

yes

\end{verbatim}}

\subsubsection{Predicate:} \label{mapV95W3}

\begin{verbatim}
map/3
\end{verbatim}

{\small \begin{verbatim}
INFO: maps a predicate with 2 args to a list

EXAMPLE(S):

?-map(+1,[10,20],_A).
_A = [11,21];

no

\end{verbatim}}

\subsubsection{Predicate:} \label{mapV95WclearV95W1}

\begin{verbatim}
map_clear/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (D): empties and cleans up D

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{xV95WabolishV95W1} 
\begin{verbatim}
x_abolish/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mapV95WgcV95W1}

\begin{verbatim}
map_gc/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (D): frees unused memory in D

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{cdelqV95W4} 
\begin{verbatim}
cdelq/4
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mapV95WgetV95W3}

\begin{verbatim}
map_get/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (D,K,V): gets V, given K in map D, backtracks over K if K unbound

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bbV95WvalV95W3} 
\begin{verbatim}
bb_val/3
\end{verbatim}

\item \ref{mapV95WkeyV95W2} 
\begin{verbatim}
map_key/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{mapV95WshowV95W1} 
\begin{verbatim}
map_show/1
\end{verbatim}

\item \ref{xV95WabolishV95W1} 
\begin{verbatim}
x_abolish/1
\end{verbatim}

\item \ref{xV95WprofileV95W0} 
\begin{verbatim}
x_profile/0
\end{verbatim}

\item \ref{xV95WtracedV95WcallV95W1} 
\begin{verbatim}
x_traced_call/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mapV95WkeyV95W2}

\begin{verbatim}
map_key/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (D,K): succeds if K is known, otherwise finds V backtracks over each key K in D

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{cmembqV95W3} 
\begin{verbatim}
cmembq/3
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{mapV95WgetV95W3} 
\begin{verbatim}
map_get/3
\end{verbatim}

\item \ref{mapV95WrmV95W2} 
\begin{verbatim}
map_rm/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mapV95WnewV95W1}

\begin{verbatim}
map_new/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (D): returns a new map handle D

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{gensymV95W2} 
\begin{verbatim}
gensym/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mapV95WputV95W3}

\begin{verbatim}
map_put/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (D,K,V): adds K,V to map D

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{addqV95W3} 
\begin{verbatim}
addq/3
\end{verbatim}

\item \ref{bbV95WdefV95W3} 
\begin{verbatim}
bb_def/3
\end{verbatim}

\item \ref{bbV95WsetV95W3} 
\begin{verbatim}
bb_set/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{xV95WtracedV95WcallV95W1} 
\begin{verbatim}
x_traced_call/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mapV95WrmV95W2}

\begin{verbatim}
map_rm/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (D,K): removes key K from map D

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{mapV95WkeyV95W2} 
\begin{verbatim}
map_key/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{xV95WabolishV95W1} 
\begin{verbatim}
x_abolish/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mapV95WshowV95W1}

\begin{verbatim}
map_show/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (D): lists the content of a map

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{mapV95WgetV95W3} 
\begin{verbatim}
map_get/3
\end{verbatim}

\item \ref{nlV95W0} 
\begin{verbatim}
nl/0
\end{verbatim}

\item \ref{printlnV95W1} 
\begin{verbatim}
println/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mapsV95WcleanV95W0}

\begin{verbatim}
maps_clean/0
\end{verbatim}

{\small \begin{verbatim}
INFO: empties and cleans up all maps created with mmap_new

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{foreachV95W2} 
\begin{verbatim}
foreach/2
\end{verbatim}

\item \ref{initV95WgensymV95W1} 
\begin{verbatim}
init_gensym/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mapsV95WgcV95W0}

\begin{verbatim}
maps_gc/0
\end{verbatim}

{\small \begin{verbatim}
INFO: frees memory for all maps created with mmap_new

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{foreachV95W2} 
\begin{verbatim}
foreach/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mapsV95WiterateV95W1}

\begin{verbatim}
maps_iterate/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (D): backtracks over map handles created with mmap_new D

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{forV95W3} 
\begin{verbatim}
for/3
\end{verbatim}

\item \ref{symcatV95W3} 
\begin{verbatim}
symcat/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mapsV95WshowV95W0}

\begin{verbatim}
maps_show/0
\end{verbatim}

{\small \begin{verbatim}
INFO: lists the content of all maps created with mmap_new

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{foreachV95W2} 
\begin{verbatim}
foreach/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{matchV95WbeforeV95W4}

\begin{verbatim}
match_before/4
\end{verbatim}

{\small \begin{verbatim}
INFO: match_before(+Stop,-Word,I,O): matches a word with DCGs until a given delimiter is hit

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{matchV95WbeforeV95W5} 
\begin{verbatim}
match_before/5
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{matchV95WbeforeV95W5}

\begin{verbatim}
match_before/5
\end{verbatim}

{\small \begin{verbatim}
INFO: match_before(+Stops,-Word,-Stop,I,O): matches a word with DCGs until a given delimiter set is hit, one of which is also returned

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{CV95W3} 
\begin{verbatim}
C/3
\end{verbatim}

\item \ref{matchV95WbeforeV95W5} 
\begin{verbatim}
match_before/5
\end{verbatim}

\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{matchV95WbeforeV95W4} 
\begin{verbatim}
match_before/4
\end{verbatim}

\item \ref{matchV95WbeforeV95W5} 
\begin{verbatim}
match_before/5
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{matchV95WwordV95W3}

\begin{verbatim}
match_word/3
\end{verbatim}

{\small \begin{verbatim}
INFO: match_word(+Word,I,O): matches/consumes a word, in the conext of DCGs

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{CV95W3} 
\begin{verbatim}
C/3
\end{verbatim}

\item \ref{matchV95WwordV95W3} 
\begin{verbatim}
match_word/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{matchV95WwordV95W3} 
\begin{verbatim}
match_word/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{maxV95W3}

\begin{verbatim}
max/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (X,Y,Max): Max is the max of 2 numbers X, Y

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{V62WV95W2} 
\begin{verbatim}
(>)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mcompileV95W1}

\begin{verbatim}
mcompile/1
\end{verbatim}

{\small \begin{verbatim}
INFO: compile/1 variant: cleans up data areas and compiles to memory

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{abortV95W0} 
\begin{verbatim}
abort/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{scompileV95W1} 
\begin{verbatim}
scompile/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{memberV95W2}

\begin{verbatim}
member/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (X,Xs): checks if an element X unifies with an element on a list Xs or generates sucessively longer lists if Xs is unbound or open ended

EXAMPLE(S):

?-member(2,[1,2]).

yes

?-member(_A,[1,2]).
_A = 1;

_A = 2;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{answerV95WofV95W2} 
\begin{verbatim}
answer_of/2
\end{verbatim}

\item \ref{aproposV95W1} 
\begin{verbatim}
apropos/1
\end{verbatim}

\item \ref{cleanV95WupV95WenginesV95W1} 
\begin{verbatim}
clean_up_engines/1
\end{verbatim}

\item \ref{gcV95WcallV95W1} 
\begin{verbatim}
gc_call/1
\end{verbatim}

\item \ref{isV95WengineV95W1} 
\begin{verbatim}
is_engine/1
\end{verbatim}

\item \ref{listV95WenginesV95W0} 
\begin{verbatim}
list_engines/0
\end{verbatim}

\item \ref{makeV95WcompileableV95W2} 
\begin{verbatim}
make_compileable/2
\end{verbatim}

\item \ref{matchV95WbeforeV95W5} 
\begin{verbatim}
match_before/5
\end{verbatim}

\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\item \ref{moduleV95W2} 
\begin{verbatim}
(module)/2
\end{verbatim}

\item \ref{readV95WtermsV95WfromV95WcharsV95W3} 
\begin{verbatim}
read_terms_from_chars/3
\end{verbatim}

\item \ref{showV95WdefaultsV95W0} 
\begin{verbatim}
show_defaults/0
\end{verbatim}

\item \ref{showV95WinfoV95W2} 
\begin{verbatim}
show_info/2
\end{verbatim}

\item \ref{termV95WofV95W2} 
\begin{verbatim}
term_of/2
\end{verbatim}

\item \ref{tokenV95WofV95W2} 
\begin{verbatim}
token_of/2
\end{verbatim}

\item \ref{wordsV95WcodeV95W2} 
\begin{verbatim}
words_code/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{memberV95WconjV95W2}

\begin{verbatim}
member_conj/2
\end{verbatim}

{\small \begin{verbatim}
INFO: like member/2, for a comma separated conjunction, ending with true

EXAMPLE(S):

?-member_conj(_A,(a,b,true)).
_A = a;

_A = b;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{memberV95WconjV95W2} 
\begin{verbatim}
member_conj/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{memberV95WconjV95W2} 
\begin{verbatim}
member_conj/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{memberV95WscanV95W3}

\begin{verbatim}
member_scan/3
\end{verbatim}

{\small \begin{verbatim}
INFO: finds first element without unifying to it

EXAMPLE(S):

?-member_scan(s(_A),[1,s(s(_B)),2],_C).
_A = _x149282;
_B = _x149292;
_C = [s(s(_x149292)),2];

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{memberchkV95W2} 
\begin{verbatim}
memberchk/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{memberchkV95W2}

\begin{verbatim}
memberchk/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (X,Xs) checks if an X is a the list Xs

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{memberV95WscanV95W3} 
\begin{verbatim}
member_scan/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mergeV95WsortV95W3}

\begin{verbatim}
merge_sort/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (Order,List,Sorted)

EXAMPLE(S):

?-merge_sort(>,[1,3,2,2,4],_A).
_A = [4,3,2,2,1];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{lengthV95W2} 
\begin{verbatim}
length/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{msortV95W2} 
\begin{verbatim}
msort/2
\end{verbatim}

\item \ref{sortV95W2} 
\begin{verbatim}
sort/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{metacallV95W1}

\begin{verbatim}
metacall/1
\end{verbatim}

{\small \begin{verbatim}
INFO: calls the interpreter

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{topcallV95W1} 
\begin{verbatim}
topcall/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{minV95W3}

\begin{verbatim}
min/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (X,Y,Min): Min is the min of 2 numbers X, Y

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{V61WV60WV95W2} 
\begin{verbatim}
(=<)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mmapV95WclearV95W1}

\begin{verbatim}
mmap_clear/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (D): empties and cleans up D

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{hashV95WclearV95W0} 
\begin{verbatim}
hash_clear/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mmapV95WgcV95W1}

\begin{verbatim}
mmap_gc/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (D): frees unused memory in D

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{hashV95WgcV95W0} 
\begin{verbatim}
hash_gc/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mmapV95WgetV95W3}

\begin{verbatim}
mmap_get/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (D,K,V): gets V, given K in mmap D,  backtracks over K if K unbound

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{cmembqV95W3} 
\begin{verbatim}
cmembq/3
\end{verbatim}

\item \ref{mmapV95WkeyV95W2} 
\begin{verbatim}
mmap_key/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{mmapV95WshowV95W1} 
\begin{verbatim}
mmap_show/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mmapV95WkeyV95W2}

\begin{verbatim}
mmap_key/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (D,K): succeds if K is known, otherwise finds V backtracks over each key K in D

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{cmembqV95W3} 
\begin{verbatim}
cmembq/3
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{mmapV95WgetV95W3} 
\begin{verbatim}
mmap_get/3
\end{verbatim}

\item \ref{mmapV95WrmV95W3} 
\begin{verbatim}
mmap_rm/3
\end{verbatim}

\item \ref{mmapV95WrmV95WoneV95W3} 
\begin{verbatim}
mmap_rm_one/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mmapV95WnewV95W1}

\begin{verbatim}
mmap_new/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (D): returns a new mmap handle D - a mmap holds multiple elements for each key

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{gensymV95W2} 
\begin{verbatim}
gensym/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mmapV95WpushV95W3}

\begin{verbatim}
mmap_push/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (D,K,V): adds K,V as the first element of mmap D

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{addqV95W3} 
\begin{verbatim}
addq/3
\end{verbatim}

\item \ref{pushqV95W3} 
\begin{verbatim}
pushq/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{hashV95WpushV95W2} 
\begin{verbatim}
hash_push/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mmapV95WputV95W3}

\begin{verbatim}
mmap_put/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (D,K,V): adds K,V as the last element of mmap D

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{addqV95W3} 
\begin{verbatim}
addq/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mmapV95WrmV95W3}

\begin{verbatim}
mmap_rm/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (D,K,X): removes a term X attached to key K from mmap D and backtracks on each such term

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{cdelqV95WanyV95W3} 
\begin{verbatim}
cdelq_any/3
\end{verbatim}

\item \ref{mmapV95WkeyV95W2} 
\begin{verbatim}
mmap_key/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{hashV95WclearV95W2} 
\begin{verbatim}
hash_clear/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mmapV95WrmV95WallV95W2}

\begin{verbatim}
mmap_rm_all/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (D,K): removes all terms X attached to key K from mmap D

\end{verbatim}}

\subsubsection{Predicate:} \label{mmapV95WrmV95WoneV95W3}

\begin{verbatim}
mmap_rm_one/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (D,K,X): removes first term X attached to key K from mmap D

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{cdelqV95W4} 
\begin{verbatim}
cdelq/4
\end{verbatim}

\item \ref{mmapV95WkeyV95W2} 
\begin{verbatim}
mmap_key/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mmapV95WshowV95W1}

\begin{verbatim}
mmap_show/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (D): lists the content of a mmap

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{mmapV95WgetV95W3} 
\begin{verbatim}
mmap_get/3
\end{verbatim}

\item \ref{nlV95W0} 
\begin{verbatim}
nl/0
\end{verbatim}

\item \ref{printlnV95W1} 
\begin{verbatim}
println/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mmapsV95WcleanV95W0}

\begin{verbatim}
mmaps_clean/0
\end{verbatim}

{\small \begin{verbatim}
INFO: empties and cleans up all mmaps created with mmap_new

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{foreachV95W2} 
\begin{verbatim}
foreach/2
\end{verbatim}

\item \ref{initV95WgensymV95W1} 
\begin{verbatim}
init_gensym/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mmapsV95WgcV95W0}

\begin{verbatim}
mmaps_gc/0
\end{verbatim}

{\small \begin{verbatim}
INFO: frees memory for all mmaps created with mmap_new

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{foreachV95W2} 
\begin{verbatim}
foreach/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mmapsV95WiterateV95W1}

\begin{verbatim}
mmaps_iterate/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (D): backtracks over mmap handles created with mmap_new D

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{forV95W3} 
\begin{verbatim}
for/3
\end{verbatim}

\item \ref{symcatV95W3} 
\begin{verbatim}
symcat/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{mmapsV95WshowV95W0}

\begin{verbatim}
mmaps_show/0
\end{verbatim}

{\small \begin{verbatim}
INFO: lists the content of all mmaps created with mmap_new

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{foreachV95W2} 
\begin{verbatim}
foreach/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{modV95W3}

\begin{verbatim}
mod/3
\end{verbatim}

{\small \begin{verbatim}
INFO: modulo

EXAMPLE(S):

?-mod(10,3,_A).
_A = 1;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{modeV95W1}

\begin{verbatim}
(mode)/1
\end{verbatim}

{\small \begin{verbatim}
INFO: accepts mode declarations although we are not using them currently

\end{verbatim}}

\subsubsection{Predicate:} \label{moduleV95W1}

\begin{verbatim}
(module)/1
\end{verbatim}

{\small \begin{verbatim}
INFO: starts a module

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{moduleV95W2} 
\begin{verbatim}
(module)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{moduleV95W2}

\begin{verbatim}
(module)/2
\end{verbatim}

{\small \begin{verbatim}
INFO: starts a module specifying a list of visible predicates

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\item \ref{moduleV95W1} 
\begin{verbatim}
(module)/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{modulesV95W1}

\begin{verbatim}
modules/1
\end{verbatim}

{\small \begin{verbatim}
INFO: returns a list of existing modules

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{isV95WmoduleV95W1} 
\begin{verbatim}
is_module/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{msortV95W2}

\begin{verbatim}
msort/2
\end{verbatim}

{\small \begin{verbatim}
INFO: sorts and keeps duplicates

EXAMPLE(S):

?-msort([2,1,3,1,4,4,2],_A).
_A = [1,1,2,2,3,4,4];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{mergeV95WsortV95W3} 
\begin{verbatim}
merge_sort/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{multifileV95W1}

\begin{verbatim}
(multifile)/1
\end{verbatim}

{\small \begin{verbatim}
INFO: states that clauses of a predicate can be in different files

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{discontiguousV95W1} 
\begin{verbatim}
(discontiguous)/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{nameV95W2}

\begin{verbatim}
name/2
\end{verbatim}

{\small \begin{verbatim}
INFO: bidirectional: converts atomic to/from list of chars

EXAMPLE(S):

?-name(hello,_A).
_A = [104,101,108,108,111];

no

?-name(_A,[98,121,101]).
_A = bye;

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{aproposV95W2} 
\begin{verbatim}
apropos/2
\end{verbatim}

\item \ref{atomV95WcodesV95W2} 
\begin{verbatim}
atom_codes/2
\end{verbatim}

\item \ref{getV95WcharV95W2} 
\begin{verbatim}
get_char/2
\end{verbatim}

\item \ref{numberV95WcodesV95W2} 
\begin{verbatim}
number_codes/2
\end{verbatim}

\item \ref{putV95WcharV95W2} 
\begin{verbatim}
put_char/2
\end{verbatim}

\item \ref{readV95WlineV95W1} 
\begin{verbatim}
read_line/1
\end{verbatim}

\item \ref{showV95WdefaultsV95W0} 
\begin{verbatim}
show_defaults/0
\end{verbatim}

\item \ref{sreadV95W3} 
\begin{verbatim}
sread/3
\end{verbatim}

\item \ref{swriteV95W3} 
\begin{verbatim}
swrite/3
\end{verbatim}

\item \ref{systemV95W2} 
\begin{verbatim}
system/2
\end{verbatim}

\item \ref{toV95WstringV95W2} 
\begin{verbatim}
to_string/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{namecatV95W4}

\begin{verbatim}
namecat/4
\end{verbatim}

{\small \begin{verbatim}
INFO: concatenates 3 names

EXAMPLE(S):

?-namecat(a,:,b,_A).
_A = a:b;

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dir2listV95W3} 
\begin{verbatim}
dir2list/3
\end{verbatim}

\item \ref{spawnV95W3} 
\begin{verbatim}
spawn/3
\end{verbatim}

\item \ref{xloadV95W1} 
\begin{verbatim}
xload/1
\end{verbatim}

\item \ref{xsaveV95W1} 
\begin{verbatim}
xsave/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{nearV95WmatchV95W2}

\begin{verbatim}
near_match/2
\end{verbatim}

{\small \begin{verbatim}
INFO: matches 2 lists of chars

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{aproposV95W2} 
\begin{verbatim}
apropos/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{newV95WbuiltinV95W3}

\begin{verbatim}
new_builtin/3
\end{verbatim}

{\small \begin{verbatim}
INFO: sample 3 arg user added builtin - used for the C interface

\end{verbatim}}

\subsubsection{Predicate:} \label{newV95WclientV95W3}

\begin{verbatim}
new_client/3
\end{verbatim}

{\small \begin{verbatim}
INFO: from a (host,port) to a client

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{startV95WrpcV95W3} 
\begin{verbatim}
start_rpc/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{newV95WengineV95W3}

\begin{verbatim}
new_engine/3
\end{verbatim}

{\small \begin{verbatim}
INFO: new_engine(X,G,E) creates an engine E ready to execute goal G with answer X

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{openV95WengineV95W3} 
\begin{verbatim}
open_engine/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{newV95WiteratorV95W2}

\begin{verbatim}
new_iterator/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (GroundKey,Iterator) gets an iterator to terms attached to ground key

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WstoreV95WopV95W4} 
\begin{verbatim}
term_store_op/4
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{getV95WallV95WtermsV95W2} 
\begin{verbatim}
get_all_terms/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{newV95WkeyV95WiteratorV95W1}

\begin{verbatim}
new_key_iterator/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (Iterator): returns an iterator over the set of external keys

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WstoreV95WopV95W4} 
\begin{verbatim}
term_store_op/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{newV95WnameV95W2}

\begin{verbatim}
new_name/2
\end{verbatim}

{\small \begin{verbatim}
INFO: returns a new name based on arg 1

\end{verbatim}}

\subsubsection{Predicate:} \label{newV95WserverV95W2}

\begin{verbatim}
new_server/2
\end{verbatim}

{\small \begin{verbatim}
INFO: opens on a port a new server

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{rpcV95WserverV95W3} 
\begin{verbatim}
rpc_server/3
\end{verbatim}

\item \ref{runV95WserverV95W6} 
\begin{verbatim}
run_server/6
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{newV95WserviceV95W3}

\begin{verbatim}
new_service/3
\end{verbatim}

{\small \begin{verbatim}
INFO: from (server,timeout) to a service

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{runV95WserverV95W6} 
\begin{verbatim}
run_server/6
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{newV95WtermV95W2}

\begin{verbatim}
new_term/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Term,Handle): creates a new external Term and returns an integer Handle to it

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WstoreV95WopV95W4} 
\begin{verbatim}
term_store_op/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{newV95WthreadV95WguardV95W1}

\begin{verbatim}
new_thread_guard/1
\end{verbatim}

{\small \begin{verbatim}
INFO: returns a new free thread guard from pool

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{forV95W3} 
\begin{verbatim}
for/3
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\item \ref{synchronizeV95W2} 
\begin{verbatim}
synchronize/2
\end{verbatim}

\item \ref{synchronizeV95WonV95W2} 
\begin{verbatim}
synchronize_on/2
\end{verbatim}

\item \ref{varV95W1} 
\begin{verbatim}
var/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{nlV95W0}

\begin{verbatim}
nl/0
\end{verbatim}

{\small \begin{verbatim}
INFO: writes a new line character

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{cnlV95W0} 
\begin{verbatim}
cnl/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{aproposV95W1} 
\begin{verbatim}
apropos/1
\end{verbatim}

\item \ref{helpV95W0} 
\begin{verbatim}
help/0
\end{verbatim}

\item \ref{listV95WenginesV95W0} 
\begin{verbatim}
list_engines/0
\end{verbatim}

\item \ref{listingV95W1} 
\begin{verbatim}
listing/1
\end{verbatim}

\item \ref{listingV95W2} 
\begin{verbatim}
listing/2
\end{verbatim}

\item \ref{mapV95WshowV95W1} 
\begin{verbatim}
map_show/1
\end{verbatim}

\item \ref{mmapV95WshowV95W1} 
\begin{verbatim}
mmap_show/1
\end{verbatim}

\item \ref{ppV95WtermV95W1} 
\begin{verbatim}
pp_term/1
\end{verbatim}

\item \ref{sdebugV95W1} 
\begin{verbatim}
sdebug/1
\end{verbatim}

\item \ref{showV95WdefaultsV95W0} 
\begin{verbatim}
show_defaults/0
\end{verbatim}

\item \ref{showV95WinfoV95W2} 
\begin{verbatim}
show_info/2
\end{verbatim}

\item \ref{spawnV95W3} 
\begin{verbatim}
spawn/3
\end{verbatim}

\item \ref{statisticsV95W0} 
\begin{verbatim}
statistics/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{nobbgcV95W0}

\begin{verbatim}
nobbgc/0
\end{verbatim}

{\small \begin{verbatim}
INFO: disables blackboard gc

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{vsetV95W2} 
\begin{verbatim}
vset/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{nogcV95W0}

\begin{verbatim}
nogc/0
\end{verbatim}

{\small \begin{verbatim}
INFO: disables heap gc

\end{verbatim}}

\subsubsection{Predicate:} \label{nonvarV95W1}

\begin{verbatim}
nonvar/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if currently instantiated

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{argnV95W3} 
\begin{verbatim}
argn/3
\end{verbatim}

\item \ref{assertedV95W1} 
\begin{verbatim}
asserted/1
\end{verbatim}

\item \ref{atomV95WcharsV95W2} 
\begin{verbatim}
atom_chars/2
\end{verbatim}

\item \ref{bpV95WinfoV95W2} 
\begin{verbatim}
bp_info/2
\end{verbatim}

\item \ref{callableV95W1} 
\begin{verbatim}
callable/1
\end{verbatim}

\item \ref{compoundV95W1} 
\begin{verbatim}
compound/1
\end{verbatim}

\item \ref{currentV95WopV95W3} 
\begin{verbatim}
current_op/3
\end{verbatim}

\item \ref{currentV95WpredicateV95W1} 
\begin{verbatim}
current_predicate/1
\end{verbatim}

\item \ref{currentV95WpredicateV95W2} 
\begin{verbatim}
current_predicate/2
\end{verbatim}

\item \ref{dbV95WassertedV95W2} 
\begin{verbatim}
db_asserted/2
\end{verbatim}

\item \ref{dbV95WclauseV95W3} 
\begin{verbatim}
db_clause/3
\end{verbatim}

\item \ref{dbV95WretractallV95W3} 
\begin{verbatim}
db_retractall/3
\end{verbatim}

\item \ref{floatV95W1} 
\begin{verbatim}
float/1
\end{verbatim}

\item \ref{globalV95WsetV95W3} 
\begin{verbatim}
global_set/3
\end{verbatim}

\item \ref{infoV95W1} 
\begin{verbatim}
info/1
\end{verbatim}

\item \ref{interactiveV95W1} 
\begin{verbatim}
interactive/1
\end{verbatim}

\item \ref{isV95WbuiltinV95W1} 
\begin{verbatim}
is_builtin/1
\end{verbatim}

\item \ref{isV95WmoduleV95W1} 
\begin{verbatim}
is_module/1
\end{verbatim}

\item \ref{mapV95WkeyV95W2} 
\begin{verbatim}
map_key/2
\end{verbatim}

\item \ref{mmapV95WkeyV95W2} 
\begin{verbatim}
mmap_key/2
\end{verbatim}

\item \ref{newV95WthreadV95WguardV95W1} 
\begin{verbatim}
new_thread_guard/1
\end{verbatim}

\item \ref{numberV95WcharsV95W2} 
\begin{verbatim}
number_chars/2
\end{verbatim}

\item \ref{numberV95WcodesV95W2} 
\begin{verbatim}
number_codes/2
\end{verbatim}

\item \ref{predicateV95WpropertyV95W2} 
\begin{verbatim}
predicate_property/2
\end{verbatim}

\item \ref{termV95WcodesV95W2} 
\begin{verbatim}
term_codes/2
\end{verbatim}

\item \ref{writeV95WtermV95WtoV95WcharsV95W3} 
\begin{verbatim}
write_term_to_chars/3
\end{verbatim}

\item \ref{writeV95WwordsV95W1} 
\begin{verbatim}
write_words/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{nospyV95W1}

\begin{verbatim}
(nospy)/1
\end{verbatim}

{\small \begin{verbatim}
INFO: do not spy on Pred/Arity anymore

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bbV95WrmV95W2} 
\begin{verbatim}
bb_rm/2
\end{verbatim}

\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{notraceV95W0} 
\begin{verbatim}
notrace/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{notV95W1}

\begin{verbatim}
(not)/1
\end{verbatim}

{\small \begin{verbatim}
INFO: sound negation

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{groundV95W1} 
\begin{verbatim}
ground/1
\end{verbatim}

\item \ref{userV95WerrorV95W2} 
\begin{verbatim}
user_error/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{notepadV95W0}

\begin{verbatim}
notepad/0
\end{verbatim}

{\small \begin{verbatim}
INFO: calls notepad editor on last compiled file

\end{verbatim}}

\subsubsection{Predicate:} \label{notifyV95WaboutV95W1}

\begin{verbatim}
notify_about/1
\end{verbatim}

{\small \begin{verbatim}
INFO: notifies a suspended matching wait_for(Term,Contraint), if Constraint holds, that Term is available

\end{verbatim}}

\subsubsection{Predicate:} \label{notraceV95W0}

\begin{verbatim}
notrace/0
\end{verbatim}

{\small \begin{verbatim}
INFO: do not trace predicates when interpreted

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{nospyV95W1} 
\begin{verbatim}
(nospy)/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{nthV95WanswerV95W2}

\begin{verbatim}
nth_answer/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (N,Goal) returns only the nth answer of Goal, if such an anser exists

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\item \ref{skipV95WuntilV95W2} 
\begin{verbatim}
skip_until/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{nthV95WmemberV95W3}

\begin{verbatim}
nth_member/3
\end{verbatim}

{\small \begin{verbatim}
INFO: retrieves N-th element of a list

EXAMPLE(S):

?-nth_member(_A,[a,b,c],_B).
_A = a;
_B = 1;

_A = b;
_B = 2;

_A = c;
_B = 3;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{numberV95W1}

\begin{verbatim}
number/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if integer or float

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{floatV95W1} 
\begin{verbatim}
float/1
\end{verbatim}

\item \ref{integerV95W1} 
\begin{verbatim}
integer/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{atomV95WcodesV95W2} 
\begin{verbatim}
atom_codes/2
\end{verbatim}

\item \ref{numberV95WcodesV95W2} 
\begin{verbatim}
number_codes/2
\end{verbatim}

\item \ref{toV95WstringV95W2} 
\begin{verbatim}
to_string/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{numberV95WcharsV95W2}

\begin{verbatim}
number_chars/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Number,CharAtoms): converts between a number and its list of char atoms representation

EXAMPLE(S):

?-number_chars(1999,_A).
_A = [1,9,9,9];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\item \ref{numberV95WcodesV95W2} 
\begin{verbatim}
number_codes/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{numberV95WcodesV95W2}

\begin{verbatim}
number_codes/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Number,CharCodes): converts between a number and its list of char code representation

EXAMPLE(S):

?-number_codes(1999,_A).
_A = [49,57,57,57];

no

?-number_codes(_A,[50,48,48,49]).
_A = 2001;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\item \ref{nameV95W2} 
\begin{verbatim}
name/2
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\item \ref{numberV95W1} 
\begin{verbatim}
number/1
\end{verbatim}

\item \ref{sreadV95W2} 
\begin{verbatim}
sread/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{numberV95WcharsV95W2} 
\begin{verbatim}
number_chars/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{numbervarsV95W3}

\begin{verbatim}
numbervars/3
\end{verbatim}

{\small \begin{verbatim}
INFO: binds to $VAR(I) with I over distinct integers variables in a term

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V35WV35WV95W1} 
\begin{verbatim}
(##)/1
\end{verbatim}

\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{atomicV95W1} 
\begin{verbatim}
atomic/1
\end{verbatim}

\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\item \ref{numbervarsV95W3} 
\begin{verbatim}
numbervars/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{numbervarsV95W3} 
\begin{verbatim}
numbervars/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{oconsultV95W1}

\begin{verbatim}
oconsult/1
\end{verbatim}

{\small \begin{verbatim}
INFO: reconsult/1 variant: consults/compiles based on db_ratio and overwrites old clauses

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\item \ref{dbV95WmoveV95W2} 
\begin{verbatim}
db_move/2
\end{verbatim}

\item \ref{findV95WfileV95W2} 
\begin{verbatim}
find_file/2
\end{verbatim}

\item \ref{setV95WdbV95W1} 
\begin{verbatim}
set_db/1
\end{verbatim}

\item \ref{symcatV95W3} 
\begin{verbatim}
symcat/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{olderV95WfileV95W2}

\begin{verbatim}
older_file/2
\end{verbatim}

{\small \begin{verbatim}
INFO: true if arg 1 is a file older than arg 2

\end{verbatim}}

\subsubsection{Predicate:} \label{onceV95W1}

\begin{verbatim}
once/1
\end{verbatim}

{\small \begin{verbatim}
INFO: executes once, with no backtracking

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{forallV95W2} 
\begin{verbatim}
forall/2
\end{verbatim}

\item \ref{foreachV95W2} 
\begin{verbatim}
foreach/2
\end{verbatim}

\item \ref{hashV95WkeyV95W1} 
\begin{verbatim}
hash_key/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{oneV95W4}

\begin{verbatim}
one/4
\end{verbatim}

{\small \begin{verbatim}
INFO: one(Recognizer,Result): DCG based regexp processor for exactly one Recognizer

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dcgV95WcallV95W4} 
\begin{verbatim}
dcg_call/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{opV95W3}

\begin{verbatim}
op/3
\end{verbatim}

{\small \begin{verbatim}
INFO: op(Pri,A,Op) defines an operator Op of priority Pri and associativity A

\end{verbatim}}

\subsubsection{Predicate:} \label{openV95W3}

\begin{verbatim}
open/3
\end{verbatim}

{\small \begin{verbatim}
INFO: returns a stream (arg 3) on a file (arg 1) in read/write/append mode (arg 2)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{openV95WstreamV95W4} 
\begin{verbatim}
open_stream/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{openV95WengineV95W3}

\begin{verbatim}
open_engine/3
\end{verbatim}

{\small \begin{verbatim}
INFO: open_engine(G,X,E) creates an engine E ready to execute goal G with answer X

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{createV95WengineV95W1} 
\begin{verbatim}
create_engine/1
\end{verbatim}

\item \ref{loadV95WengineV95W3} 
\begin{verbatim}
load_engine/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{newV95WengineV95W3} 
\begin{verbatim}
new_engine/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{openV95WstreamV95W4}

\begin{verbatim}
open_stream/4
\end{verbatim}

{\small \begin{verbatim}
INFO: (Type,FileOrCmd,ReadWriteAppend,?StreamID) opens various streams

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{fopenV95W3} 
\begin{verbatim}
fopen/3
\end{verbatim}

\item \ref{openV95W3} 
\begin{verbatim}
open/3
\end{verbatim}

\item \ref{popenV95W3} 
\begin{verbatim}
popen/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{otherwiseV95W0}

\begin{verbatim}
otherwise/0
\end{verbatim}

{\small \begin{verbatim}
INFO: always succeeds

\end{verbatim}}

\subsubsection{Predicate:} \label{otimeV95W1}

\begin{verbatim}
otime/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets time in secs from arbitrary origin to start

EXAMPLE(S):

?-otime(_A).
_A = 372179905;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{statisticsV95W2} 
\begin{verbatim}
statistics/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{outV95W1}

\begin{verbatim}
out/1
\end{verbatim}

{\small \begin{verbatim}
INFO: puts a term on Linda server or trigers resumption of a matching in/1 waiting for this data

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{localV95WoutV95W1} 
\begin{verbatim}
local_out/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{overrideV95W3}

\begin{verbatim}
override/3
\end{verbatim}

{\small \begin{verbatim}
INFO: overrides a compiled predicate - to be used with care

\end{verbatim}}

\subsubsection{Predicate:} \label{pcV95W0}

\begin{verbatim}
pc/0
\end{verbatim}

{\small \begin{verbatim}
INFO: pushes code compiled into the workspace to the persistent kernel

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{pushV95WcodeV95W1} 
\begin{verbatim}
push_code/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{qcompileV95W1} 
\begin{verbatim}
qcompile/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{pcloseV95W1}

\begin{verbatim}
pclose/1
\end{verbatim}

{\small \begin{verbatim}
INFO: closes a pipe generated stream

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{pcollectV95W2} 
\begin{verbatim}
pcollect/2
\end{verbatim}

\item \ref{unixV95W1} 
\begin{verbatim}
unix/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{pcollectV95W2}

\begin{verbatim}
pcollect/2
\end{verbatim}

{\small \begin{verbatim}
INFO: collects output from a command to a list of char codes

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WinputV95W1} 
\begin{verbatim}
current_input/1
\end{verbatim}

\item \ref{getV95WcodeV95W1} 
\begin{verbatim}
get_code/1
\end{verbatim}

\item \ref{pcloseV95W1} 
\begin{verbatim}
pclose/1
\end{verbatim}

\item \ref{popenV95W3} 
\begin{verbatim}
popen/3
\end{verbatim}

\item \ref{setV95WinputV95W1} 
\begin{verbatim}
set_input/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dir2listV95W3} 
\begin{verbatim}
dir2list/3
\end{verbatim}

\item \ref{pwdV95W1} 
\begin{verbatim}
pwd/1
\end{verbatim}

\item \ref{unixV95W1} 
\begin{verbatim}
unix/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{peerV95WaddrV95W2}

\begin{verbatim}
peer_addr/2
\end{verbatim}

{\small \begin{verbatim}
INFO: gets address of peer connected to socket

\end{verbatim}}

\subsubsection{Predicate:} \label{peerV95WportV95W2}

\begin{verbatim}
peer_port/2
\end{verbatim}

{\small \begin{verbatim}
INFO: gets port of peer connected to socket

\end{verbatim}}

\subsubsection{Predicate:} \label{phraseV95W2}

\begin{verbatim}
phrase/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Axiom, ?InputChars): DCG evaluator, starting from Axiom, consuming/producing InputChars

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{phraseV95W3} 
\begin{verbatim}
phrase/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{phraseV95W3}

\begin{verbatim}
phrase/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (Axiom, ?InputChars, ?OutputChars): DCG evaluator, staring from Axiom

EXAMPLE(S):

?-phrase(([a],[b]),[a,b|_A],_A).
_A = _x149070;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{phraseV95W2} 
\begin{verbatim}
phrase/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{picoV95W0}

\begin{verbatim}
pico/0
\end{verbatim}

{\small \begin{verbatim}
INFO: calls pico editor on last compiled file

\end{verbatim}}

\subsubsection{Predicate:} \label{plusV95W4}

\begin{verbatim}
plus/4
\end{verbatim}

{\small \begin{verbatim}
INFO: plus(Recognizer,Result): DCG based plus regexp processor for (Recognizer)+

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dcgV95WcallV95W4} 
\begin{verbatim}
dcg_call/4
\end{verbatim}

\item \ref{starV95W4} 
\begin{verbatim}
star/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{popenV95W3}

\begin{verbatim}
popen/3
\end{verbatim}

{\small \begin{verbatim}
INFO: popen(Cmd,read/write,Stream) opens Stream using a pipe from/to process executing Cmd

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{openV95WstreamV95W4} 
\begin{verbatim}
open_stream/4
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{pcollectV95W2} 
\begin{verbatim}
pcollect/2
\end{verbatim}

\item \ref{unixV95W1} 
\begin{verbatim}
unix/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{portrayV95WclauseV95W1}

\begin{verbatim}
portray_clause/1
\end{verbatim}

{\small \begin{verbatim}
INFO: pretty prints a clause

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{ppV95WclauseV95W1} 
\begin{verbatim}
pp_clause/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{powV95W3}

\begin{verbatim}
pow/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (Base,Expo,Val) computes power function

EXAMPLE(S):

?-pow(2,3,_A).
_A = 8;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{ppV95WclauseV95W1}

\begin{verbatim}
pp_clause/1
\end{verbatim}

{\small \begin{verbatim}
INFO: prints out a clause with some care on how it looks

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{portrayV95WclauseV95W1} 
\begin{verbatim}
portray_clause/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{hashV95WsaveV95W2} 
\begin{verbatim}
hash_save/2
\end{verbatim}

\item \ref{spawnV95W3} 
\begin{verbatim}
spawn/3
\end{verbatim}

\item \ref{xV95WlistingV95W1} 
\begin{verbatim}
x_listing/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{ppV95WtermV95W1}

\begin{verbatim}
pp_term/1
\end{verbatim}

{\small \begin{verbatim}
INFO: pretty prints a term

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{nlV95W0} 
\begin{verbatim}
nl/0
\end{verbatim}

\item \ref{writeV95W1} 
\begin{verbatim}
write/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{predicateV95WpropertyV95W2}

\begin{verbatim}
predicate_property/2
\end{verbatim}

{\small \begin{verbatim}
INFO: returns a property of a predicate

EXAMPLE(S):

?-predicate_property(write(_A),_B).
_A = _x149194;
_B = built_in;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{aproposV95W2} 
\begin{verbatim}
apropos/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{printV95W1}

\begin{verbatim}
print/1
\end{verbatim}

{\small \begin{verbatim}
INFO: variant of write/1

\end{verbatim}}

\subsubsection{Predicate:} \label{printlnV95W1}

\begin{verbatim}
println/1
\end{verbatim}

{\small \begin{verbatim}
INFO: synchronized printing of a term on a line

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{synchronizeV95W1} 
\begin{verbatim}
synchronize/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{mapV95WshowV95W1} 
\begin{verbatim}
map_show/1
\end{verbatim}

\item \ref{mmapV95WshowV95W1} 
\begin{verbatim}
mmap_show/1
\end{verbatim}

\item \ref{rpcV95WtestV95W1} 
\begin{verbatim}
rpc_test/1
\end{verbatim}

\item \ref{xV95WlistingV95W0} 
\begin{verbatim}
x_listing/0
\end{verbatim}

\item \ref{xV95WprofileV95W0} 
\begin{verbatim}
x_profile/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{processV95WtermV95W3}

\begin{verbatim}
process_term/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (OpCode,Input,Output): applies various user defined C functions to external terms

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WstoreV95WopV95W4} 
\begin{verbatim}
term_store_op/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{prodV95W2}

\begin{verbatim}
prod/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (List, ?Result): product of a list

EXAMPLE(S):

?-prod([10,20],_A).
_A = 200;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{foldlV95W4} 
\begin{verbatim}
foldl/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{profileV95W0}

\begin{verbatim}
profile/0
\end{verbatim}

{\small \begin{verbatim}
INFO: in specialy compiled profiler mode prints out info accumulated so far

\end{verbatim}}

\subsubsection{Predicate:} \label{prologV95WflagV95W2}

\begin{verbatim}
prolog_flag/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Flag,Value): retrieves the value of a Prolog flag

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{defaultV95W2} 
\begin{verbatim}
default/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{prologV95WinitV95W1}

\begin{verbatim}
prolog_init/1
\end{verbatim}

{\small \begin{verbatim}
INFO: runs more command line args representing prolog goals

\end{verbatim}}

\subsubsection{Predicate:} \label{prologV95WloadV95W1}

\begin{verbatim}
prolog_load/1
\end{verbatim}

{\small \begin{verbatim}
INFO: loads code and/or executes first command line arg

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{callV95WifdefV95W2} 
\begin{verbatim}
call_ifdef/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{prologV95WrunV95W1}

\begin{verbatim}
prolog_run/1
\end{verbatim}

{\small \begin{verbatim}
INFO: starts main/0 if defined, otherwise toplevel/0

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{publicV95W1}

\begin{verbatim}
(public)/1
\end{verbatim}

{\small \begin{verbatim}
INFO: declares globally visible predicate Name/Arity

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{publicV95W1} 
\begin{verbatim}
(public)/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{publicV95W1} 
\begin{verbatim}
(public)/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{pushV95WcodeV95W1}

\begin{verbatim}
push_code/1
\end{verbatim}

{\small \begin{verbatim}
INFO: moves code compiled in workspace to kernel and returns top of code area - used by pc/0

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{pcV95W0} 
\begin{verbatim}
pc/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{pushV95WtermV95W2}

\begin{verbatim}
push_term/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (GroundKey,Term): attaches a term to a ground key in constant time as a the first element

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WstoreV95WopV95W4} 
\begin{verbatim}
term_store_op/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{pushqV95W3}

\begin{verbatim}
pushq/3
\end{verbatim}

{\small \begin{verbatim}
INFO: adds to beginning of persistent queeue

EXAMPLE(S):

?-pushq(key1,key2,f(_A,_A)).
_A = _x148850;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV61WV95W2} 
\begin{verbatim}
(==)/2
\end{verbatim}

\item \ref{V92WV61WV61WV95W2} 
\begin{verbatim}
(\==)/2
\end{verbatim}

\item \ref{bbV95WgcV95W0} 
\begin{verbatim}
bb_gc/0
\end{verbatim}

\item \ref{clearV95WbpV95WerrorV95W0} 
\begin{verbatim}
clear_bp_error/0
\end{verbatim}

\item \ref{fatalV95WerrorV95W2} 
\begin{verbatim}
fatal_error/2
\end{verbatim}

\item \ref{getV95WbpV95WerrorV95W4} 
\begin{verbatim}
get_bp_error/4
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dbV95WassertaV95W2} 
\begin{verbatim}
db_asserta/2
\end{verbatim}

\item \ref{mmapV95WpushV95W3} 
\begin{verbatim}
mmap_push/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{putV95W1}

\begin{verbatim}
put/1
\end{verbatim}

{\small \begin{verbatim}
INFO: writes and ascii code as a char

EXAMPLE(S):

?-put(99).
c
yes

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{putV95WcodeV95W1} 
\begin{verbatim}
put_code/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{putV95WcharV95W2}

\begin{verbatim}
put_char/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Stream,CharAsOneLetterConstant): outputs a char to a stream -ISO Prolog

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\item \ref{nameV95W2} 
\begin{verbatim}
name/2
\end{verbatim}

\item \ref{putV95WcodeV95W2} 
\begin{verbatim}
put_code/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{putV95WcodeV95W1}

\begin{verbatim}
put_code/1
\end{verbatim}

{\small \begin{verbatim}
INFO: ISO char code writer

EXAMPLE(S):

?-put_code(99).
c
yes

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{putV95W1} 
\begin{verbatim}
put/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{unixV95WcatV95W1} 
\begin{verbatim}
unix_cat/1
\end{verbatim}

\item \ref{writeV95WcharsV95W1} 
\begin{verbatim}
write_chars/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{putV95WcodeV95W2}

\begin{verbatim}
put_code/2
\end{verbatim}

{\small \begin{verbatim}
INFO: outputs a char code to a stream - ISO

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\item \ref{fputcV95W2} 
\begin{verbatim}
fputc/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{putV95WcharV95W2} 
\begin{verbatim}
put_char/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{putV95WcriticalV95W2}

\begin{verbatim}
put_critical/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Guard,Data): updates mutex Guard-protected Data on blackboard

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{sdebugV95W1} 
\begin{verbatim}
sdebug/1
\end{verbatim}

\item \ref{synchronizeV95W2} 
\begin{verbatim}
synchronize/2
\end{verbatim}

\item \ref{synchronizeV95WonV95W3} 
\begin{verbatim}
synchronize_on/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{putV95WtermV95W2}

\begin{verbatim}
put_term/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (GroundKey,Term): attaches a term to a ground key in constant time as the last element

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WstoreV95WopV95W4} 
\begin{verbatim}
term_store_op/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{pwdV95W0}

\begin{verbatim}
pwd/0
\end{verbatim}

{\small \begin{verbatim}
INFO: shows current dir

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{systemV95W1} 
\begin{verbatim}
system/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{pwdV95W1}

\begin{verbatim}
pwd/1
\end{verbatim}

{\small \begin{verbatim}
INFO: returns current dir as a list of chars

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{pcollectV95W2} 
\begin{verbatim}
pcollect/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{qcompileV95W1}

\begin{verbatim}
qcompile/1
\end{verbatim}

{\small \begin{verbatim}
INFO: compile/1 variant: compiles a file to memory after pushing current user code to kernel - where it becomes read only

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{pcV95W0} 
\begin{verbatim}
pc/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{qfindallV95W4}

\begin{verbatim}
qfindall/4
\end{verbatim}

{\small \begin{verbatim}
INFO: qfindall(X,G,Xs,Ys): queues based, slightly faster findall/4, not MT-safe

EXAMPLE(S):

?-qfindall(s(_A),(_A = 1 ; _A = 2),_B,[3,4]).
_A = _x149183;
_B = [s(1),s(2),3,4];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV58WV61WV95W2} 
\begin{verbatim}
(=:=)/2
\end{verbatim}

\item \ref{debugmesV95W1} 
\begin{verbatim}
debugmes/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{qmakeV95W1}

\begin{verbatim}
qmake/1
\end{verbatim}

{\small \begin{verbatim}
INFO: compiles Project to fast C code - for packaging as standalone executable

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{qmakeV95W2} 
\begin{verbatim}
qmake/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{qmakeV95W2}

\begin{verbatim}
qmake/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Project,Module): compiles to fast C code a project in Module: uses set_threshhold(12,60) before dooing cmake/2, for a good speed/code size ratio

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{cmakeV95W2} 
\begin{verbatim}
cmake/2
\end{verbatim}

\item \ref{setV95WcV95WthresholdV95W2} 
\begin{verbatim}
set_c_threshold/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{qmakeV95W1} 
\begin{verbatim}
qmake/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{qprintV95W1}

\begin{verbatim}
qprint/1
\end{verbatim}

{\small \begin{verbatim}
INFO: prints out a clause such that a variant of it can be always read back

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dbV95WsaveV95W2} 
\begin{verbatim}
db_save/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{quietV95W1}

\begin{verbatim}
quiet/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets/sets level of "quietness"

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{integerV95W1} 
\begin{verbatim}
integer/1
\end{verbatim}

\item \ref{vget0V95W2} 
\begin{verbatim}
vget0/2
\end{verbatim}

\item \ref{vsetV95W2} 
\begin{verbatim}
vset/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{quietmesV95W2} 
\begin{verbatim}
quietmes/2
\end{verbatim}

\item \ref{sdebugV95W1} 
\begin{verbatim}
sdebug/1
\end{verbatim}

\item \ref{xV95WgcV95W0} 
\begin{verbatim}
x_gc/0
\end{verbatim}

\item \ref{xV95WprofileV95W0} 
\begin{verbatim}
x_profile/0
\end{verbatim}

\item \ref{xV95WtracedV95WcallV95W1} 
\begin{verbatim}
x_traced_call/1
\end{verbatim}

\item \ref{xloadV95W1} 
\begin{verbatim}
xload/1
\end{verbatim}

\item \ref{xsaveV95W1} 
\begin{verbatim}
xsave/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{quietmesV95W1}

\begin{verbatim}
quietmes/1
\end{verbatim}

{\small \begin{verbatim}
INFO: writes message if in low quietness mode

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{quietmesV95W2} 
\begin{verbatim}
quietmes/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{quietmesV95W2}

\begin{verbatim}
quietmes/2
\end{verbatim}

{\small \begin{verbatim}
INFO: writes message if quietness is lower than arg 1)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV60WV95W2} 
\begin{verbatim}
(=<)/2
\end{verbatim}

\item \ref{quietV95W1} 
\begin{verbatim}
quiet/1
\end{verbatim}

\item \ref{ttyprintV95W1} 
\begin{verbatim}
ttyprint/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{debugmesV95W1} 
\begin{verbatim}
debugmes/1
\end{verbatim}

\item \ref{quietmesV95W1} 
\begin{verbatim}
quietmes/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{quitV95W0}

\begin{verbatim}
quit/0
\end{verbatim}

{\small \begin{verbatim}
INFO: same as halt

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{haltV95W0} 
\begin{verbatim}
halt/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{randomV95W1}

\begin{verbatim}
random/1
\end{verbatim}

{\small \begin{verbatim}
INFO: returns a random integer

EXAMPLE(S):

?-random(_A).
_A = 2508;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{randomV95WseedV95W1}

\begin{verbatim}
random_seed/1
\end{verbatim}

{\small \begin{verbatim}
INFO: initializes random/1 with an integer, uses clock if 0

\end{verbatim}}

\subsubsection{Predicate:} \label{rdV95W1}

\begin{verbatim}
rd/1
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a term matching arg 1 from Linda blackboard

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{localV95WrdV95W1} 
\begin{verbatim}
local_rd/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{readV95W1}

\begin{verbatim}
read/1
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a term

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{termV95WofV95W2} 
\begin{verbatim}
term_of/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{readV95WcharsV95W1}

\begin{verbatim}
read_chars/1
\end{verbatim}

{\small \begin{verbatim}
INFO: reads to a list of ascii codes

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{getV95WcodeV95W1} 
\begin{verbatim}
get_code/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{readV95WlineV95W1} 
\begin{verbatim}
read_line/1
\end{verbatim}

\item \ref{readV95WwordsV95W1} 
\begin{verbatim}
read_words/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{readV95WlineV95W1}

\begin{verbatim}
read_line/1
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a line into a constant

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{nameV95W2} 
\begin{verbatim}
name/2
\end{verbatim}

\item \ref{readV95WcharsV95W1} 
\begin{verbatim}
read_chars/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{readV95WtermV95W2}

\begin{verbatim}
read_term/2
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a term and also a list of variable-name associations

\end{verbatim}}

\subsubsection{Predicate:} \label{readV95WtermV95WfromV95WcharsV95W2}

\begin{verbatim}
read_term_from_chars/2
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a term from a list of char codes

EXAMPLE(S):

?-read_term_from_chars([102,40,88,44,88,44,89,44,89,41],_A).
_A = f(_x151573,_x151573,_x151624,_x151624);

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{readV95WtermV95WfromV95WcharsV95W3} 
\begin{verbatim}
read_term_from_chars/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{readV95WtermV95WfromV95WcharsV95W3}

\begin{verbatim}
read_term_from_chars/3
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a term with variable names from a list of char codes

EXAMPLE(S):

?-read_term_from_chars([102,40,88,44,88,44,89,44,89,41],_A,_B).
_A = f(_x151678,_x151678,_x151729,_x151729);
_B = [X = _x151678,Y = _x151729];

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{readV95WtermV95WfromV95WcharsV95W2} 
\begin{verbatim}
read_term_from_chars/2
\end{verbatim}

\item \ref{readV95WtermsV95WfromV95WcharsV95W3} 
\begin{verbatim}
read_terms_from_chars/3
\end{verbatim}

\item \ref{sreadV95W3} 
\begin{verbatim}
sread/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{readV95WtermsV95WfromV95WcharsV95W2}

\begin{verbatim}
read_terms_from_chars/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Chars,Clause): backtracks over Clause(s) parsed from a list of char codes

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{readV95WtermsV95WfromV95WcharsV95W3} 
\begin{verbatim}
read_terms_from_chars/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{readV95WtermsV95WfromV95WcharsV95W3}

\begin{verbatim}
read_terms_from_chars/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (Chars,Clause,VarsInClause): backtracks over Clause(s) parsed from a list of char codes

EXAMPLE(S):

?-read_terms_from_chars([98,40,88,44,89,41,58,45,97,40,89,44,88,41,46,32,97,40,49,44,49,41,46,32,97,40,95,44,50,41,46,32],_A,_B).
_A = (b(_x154557,_x154585) :- a(_x154585,_x154557));
_B = [X = _x154557,Y = _x154585];

_A = a(1,1);
_B = [];

_A = a(_x154156,2);
_B = [_ = _x154156];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{appendV95W3} 
\begin{verbatim}
append/3
\end{verbatim}

\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\item \ref{readV95WtermV95WfromV95WcharsV95W3} 
\begin{verbatim}
read_term_from_chars/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{readV95WtermsV95WfromV95WcharsV95W2} 
\begin{verbatim}
read_terms_from_chars/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{readV95WwordsV95W1}

\begin{verbatim}
read_words/1
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a line into a list of words

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{codesV95WwordsV95W2} 
\begin{verbatim}
codes_words/2
\end{verbatim}

\item \ref{readV95WcharsV95W1} 
\begin{verbatim}
read_chars/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{rebootV95W0}

\begin{verbatim}
reboot/0
\end{verbatim}

{\small \begin{verbatim}
INFO: regenerates BinProlog from its sources

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bootV95W0} 
\begin{verbatim}
boot/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{reconsultV95W1}

\begin{verbatim}
reconsult/1
\end{verbatim}

{\small \begin{verbatim}
INFO: applies current consult method to file given as arg 1, set db_ratio/1 for specifying dynamic recompilation of heavily used interpreted code

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{coV95W1} 
\begin{verbatim}
co/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{remoteV95WrunV95W1}

\begin{verbatim}
remote_run/1
\end{verbatim}

{\small \begin{verbatim}
INFO: runs Goal on remote server using default password

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{defaultV95WhostV95W1} 
\begin{verbatim}
default_host/1
\end{verbatim}

\item \ref{defaultV95WportV95W1} 
\begin{verbatim}
default_port/1
\end{verbatim}

\item \ref{remoteV95WrunV95W3} 
\begin{verbatim}
remote_run/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{remoteV95WrunV95W3}

\begin{verbatim}
remote_run/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (Host,Port,Goal): runs Goal on rmote server at Host, Port with default password

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{defaultV95WpasswordV95W1} 
\begin{verbatim}
default_password/1
\end{verbatim}

\item \ref{remoteV95WrunV95W6} 
\begin{verbatim}
remote_run/6
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{remoteV95WrunV95W1} 
\begin{verbatim}
remote_run/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{remoteV95WrunV95W6}

\begin{verbatim}
remote_run/6
\end{verbatim}

{\small \begin{verbatim}
INFO: (Host,Port,Answer,Goal,Password,Reply): runs Goal on server at Host, Port with given Password and returns Reply. However, if you do let(where,here) before calling it, a local goal is called instead.

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{callV95WjinniV95W3} 
\begin{verbatim}
call_jinni/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{remoteV95WrunV95W3} 
\begin{verbatim}
remote_run/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{removeV95WcurrentV95WtermV95W1}

\begin{verbatim}
remove_current_term/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (Iterator) removes current term attached to an iterator

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WstoreV95WopV95W4} 
\begin{verbatim}
term_store_op/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{repeatV95W0}

\begin{verbatim}
repeat/0
\end{verbatim}

{\small \begin{verbatim}
INFO: backtracks until its continuation succeeds; defined as repeat. repeat:-repeat. 

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{repeatV95W0} 
\begin{verbatim}
repeat/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{charV95WofV95W2} 
\begin{verbatim}
char_of/2
\end{verbatim}

\item \ref{getV95W1} 
\begin{verbatim}
get/1
\end{verbatim}

\item \ref{repeatV95W0} 
\begin{verbatim}
repeat/0
\end{verbatim}

\item \ref{runV95WserverV95W6} 
\begin{verbatim}
run_server/6
\end{verbatim}

\item \ref{serviceV95WloopV95W2} 
\begin{verbatim}
service_loop/2
\end{verbatim}

\item \ref{termV95WofV95W2} 
\begin{verbatim}
term_of/2
\end{verbatim}

\item \ref{toplevelV95W0} 
\begin{verbatim}
toplevel/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{restartV95W0}

\begin{verbatim}
restart/0
\end{verbatim}

{\small \begin{verbatim}
INFO: cleans up data areas and reinitializes symbol tables

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{callV95WifdefV95W2} 
\begin{verbatim}
call_ifdef/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{retractV95W1}

\begin{verbatim}
retract/1
\end{verbatim}

{\small \begin{verbatim}
INFO: backtracks over deleting matching clauses

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\item \ref{dbV95WretractV95W2} 
\begin{verbatim}
db_retract/2
\end{verbatim}

\item \ref{xV95WretractV95W1} 
\begin{verbatim}
x_retract/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{retract1V95W1}

\begin{verbatim}
retract1/1
\end{verbatim}

{\small \begin{verbatim}
INFO: deletes first matching clause in the current database

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\item \ref{dbV95Wretract1V95W2} 
\begin{verbatim}
db_retract1/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{retractallV95W1}

\begin{verbatim}
retractall/1
\end{verbatim}

{\small \begin{verbatim}
INFO: deletes all matching clauses

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\item \ref{dbV95WretractallV95W2} 
\begin{verbatim}
db_retractall/2
\end{verbatim}

\item \ref{xV95WretractallV95W1} 
\begin{verbatim}
x_retractall/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{setV95WdefaultV95W1} 
\begin{verbatim}
set_default/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{returnV95W1}

\begin{verbatim}
return/1
\end{verbatim}

{\small \begin{verbatim}
INFO: returns data from an engine as if it were an answer - such that the engine can be resumed with get/2 to execute the next goal

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{return0V95W1} 
\begin{verbatim}
return0/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{return0V95W1}

\begin{verbatim}
return0/1
\end{verbatim}

{\small \begin{verbatim}
INFO: returns a term from an engine left in a state ready to resume

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{returnV95W1} 
\begin{verbatim}
return/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{reverseV95W2}

\begin{verbatim}
reverse/2
\end{verbatim}

{\small \begin{verbatim}
INFO: reverses a list

EXAMPLE(S):

?-reverse([a,b,c],_A).
_A = [c,b,a];

no

\end{verbatim}}

\subsubsection{Predicate:} \label{roundV95W2}

\begin{verbatim}
round/2
\end{verbatim}

{\small \begin{verbatim}
INFO: float to int function

EXAMPLE(S):

?-round(1.51,_A).
_A = 2;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{rpcV95W1}

\begin{verbatim}
rpc/1
\end{verbatim}

{\small \begin{verbatim}
INFO: (Query): calls server on current local reusable socket

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{rpcV95W3} 
\begin{verbatim}
rpc/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{rpcV95WtestV95W1} 
\begin{verbatim}
rpc_test/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{rpcV95W3}

\begin{verbatim}
rpc/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (Answer,Goal,Result): calls server on local reusable socket and gets back Result as the(Answer) or no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{askV95W5} 
\begin{verbatim}
ask/5
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{rpcV95W1} 
\begin{verbatim}
rpc/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{rpcV95WserverV95W0}

\begin{verbatim}
rpc_server/0
\end{verbatim}

{\small \begin{verbatim}
INFO: runs Jinni compatible server with socket reuse on default port

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{defaultV95WpasswordV95W1} 
\begin{verbatim}
default_password/1
\end{verbatim}

\item \ref{defaultV95WthisV95WportV95W1} 
\begin{verbatim}
default_this_port/1
\end{verbatim}

\item \ref{rpcV95WserverV95W2} 
\begin{verbatim}
rpc_server/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{rpcV95WserverV95W2}

\begin{verbatim}
rpc_server/2
\end{verbatim}

{\small \begin{verbatim}
INFO: Port,Password: runs Jinni compatible server with socket reuse

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{defaultV95WtimeoutV95W1} 
\begin{verbatim}
default_timeout/1
\end{verbatim}

\item \ref{rpcV95WserverV95W3} 
\begin{verbatim}
rpc_server/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{rpcV95WserverV95W0} 
\begin{verbatim}
rpc_server/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{rpcV95WserverV95W3}

\begin{verbatim}
rpc_server/3
\end{verbatim}

{\small \begin{verbatim}
INFO: Port,Password,Timout: runs Jinni compatible server with socket reuse

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{newV95WserverV95W2} 
\begin{verbatim}
new_server/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{rpcV95WserverV95W2} 
\begin{verbatim}
rpc_server/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{rpcV95WtestV95W0}

\begin{verbatim}
rpc_test/0
\end{verbatim}

{\small \begin{verbatim}
INFO: tests rpc server and client with socket reuse

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bgV95W1} 
\begin{verbatim}
bg/1
\end{verbatim}

\item \ref{rpcV95WtestV95W1} 
\begin{verbatim}
rpc_test/1
\end{verbatim}

\item \ref{sleepV95W1} 
\begin{verbatim}
sleep/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{rpcV95WtestV95W1}

\begin{verbatim}
rpc_test/1
\end{verbatim}

{\small \begin{verbatim}
INFO: tests rpc client with socket reuse for a given number of operations

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{ctimeV95W1} 
\begin{verbatim}
ctime/1
\end{verbatim}

\item \ref{forV95W3} 
\begin{verbatim}
for/3
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\item \ref{printlnV95W1} 
\begin{verbatim}
println/1
\end{verbatim}

\item \ref{rpcV95W1} 
\begin{verbatim}
rpc/1
\end{verbatim}

\item \ref{startV95WrpcV95W0} 
\begin{verbatim}
start_rpc/0
\end{verbatim}

\item \ref{stopV95WrpcV95W0} 
\begin{verbatim}
stop_rpc/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{rpcV95WtestV95W0} 
\begin{verbatim}
rpc_test/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{rtimeV95W1}

\begin{verbatim}
rtime/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets elapsed real time in secs

EXAMPLE(S):

?-rtime(_A).
_A = 21;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{statisticsV95W2} 
\begin{verbatim}
statistics/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{timedV95WcallV95W4} 
\begin{verbatim}
timed_call/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{runV95WserverV95W0}

\begin{verbatim}
run_server/0
\end{verbatim}

{\small \begin{verbatim}
INFO: runs foreground server on localhost (default port) for Jinni clients

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{defaultV95WthisV95WportV95W1} 
\begin{verbatim}
default_this_port/1
\end{verbatim}

\item \ref{runV95WserverV95W1} 
\begin{verbatim}
run_server/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{runV95WserverV95W1}

\begin{verbatim}
run_server/1
\end{verbatim}

{\small \begin{verbatim}
INFO: runs foreground server on Port to provide services to Jinni clients

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{runV95WserverV95W2} 
\begin{verbatim}
run_server/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{runV95WserverV95W0} 
\begin{verbatim}
run_server/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{runV95WserverV95W2}

\begin{verbatim}
run_server/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Port,Password): runs server on Port, Password required from clients

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{runV95WserverV95W6} 
\begin{verbatim}
run_server/6
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{runV95WserverV95W1} 
\begin{verbatim}
run_server/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{runV95WserverV95W6}

\begin{verbatim}
run_server/6
\end{verbatim}

{\small \begin{verbatim}
INFO: (Port,Password,Heap,Stack,Trail,Timeout): runs server with specified service parameters

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bgV95W7} 
\begin{verbatim}
bg/7
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{newV95WserverV95W2} 
\begin{verbatim}
new_server/2
\end{verbatim}

\item \ref{newV95WserviceV95W3} 
\begin{verbatim}
new_service/3
\end{verbatim}

\item \ref{repeatV95W0} 
\begin{verbatim}
repeat/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{runV95WserverV95W2} 
\begin{verbatim}
run_server/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{scompileV95W1}

\begin{verbatim}
scompile/1
\end{verbatim}

{\small \begin{verbatim}
INFO: smart compile/1 variant: if the *.wam file is newer reloads, otherwise fcompiles first

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{abortV95W0} 
\begin{verbatim}
abort/0
\end{verbatim}

\item \ref{isV95WprologV95W1} 
\begin{verbatim}
is_prolog/1
\end{verbatim}

\item \ref{mcompileV95W1} 
\begin{verbatim}
mcompile/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sconsultV95W1}

\begin{verbatim}
sconsult/1
\end{verbatim}

{\small \begin{verbatim}
INFO: reconsult/1 variant: cleans up data areas consults, makes all static

\end{verbatim}}

\subsubsection{Predicate:} \label{sdebugV95W1}

\begin{verbatim}
sdebug/1
\end{verbatim}

{\small \begin{verbatim}
INFO: emits mt-safe synchronized debug message

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V60WV95W2} 
\begin{verbatim}
(<)/2
\end{verbatim}

\item \ref{beginV95WcriticalV95W0} 
\begin{verbatim}
begin_critical/0
\end{verbatim}

\item \ref{endV95WcriticalV95W0} 
\begin{verbatim}
end_critical/0
\end{verbatim}

\item \ref{nlV95W0} 
\begin{verbatim}
nl/0
\end{verbatim}

\item \ref{quietV95W1} 
\begin{verbatim}
quiet/1
\end{verbatim}

\item \ref{writeV95W1} 
\begin{verbatim}
write/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{getV95WcriticalV95W2} 
\begin{verbatim}
get_critical/2
\end{verbatim}

\item \ref{putV95WcriticalV95W2} 
\begin{verbatim}
put_critical/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{seeV95W1}

\begin{verbatim}
see/1
\end{verbatim}

{\small \begin{verbatim}
INFO: focuses input on a file

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{userV95WerrorV95W2} 
\begin{verbatim}
user_error/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{termV95WofV95W2} 
\begin{verbatim}
term_of/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{seeV95WatV95W1}

\begin{verbatim}
see_at/1
\end{verbatim}

{\small \begin{verbatim}
INFO: seeks a seekable file at a give offset (in bytes)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{userV95WerrorV95W2} 
\begin{verbatim}
user_error/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{seeV95WorV95WfailV95W1}

\begin{verbatim}
see_or_fail/1
\end{verbatim}

{\small \begin{verbatim}
INFO: opens a file if it exists, otherwise fails

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{existsV95WfileV95W1} 
\begin{verbatim}
exists_file/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{seeingV95W1}

\begin{verbatim}
seeing/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets file name opened and set by see/1

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{spyV95W1} 
\begin{verbatim}
(spy)/1
\end{verbatim}

\item \ref{termV95WofV95W2} 
\begin{verbatim}
term_of/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{seeingV95WatV95W1}

\begin{verbatim}
seeing_at/1
\end{verbatim}

{\small \begin{verbatim}
INFO: retrieves position in current file opened by see/1

\end{verbatim}}

\subsubsection{Predicate:} \label{seenV95W0}

\begin{verbatim}
seen/0
\end{verbatim}

{\small \begin{verbatim}
INFO: close file opened by see/1

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{existsV95WfileV95W1} 
\begin{verbatim}
exists_file/1
\end{verbatim}

\item \ref{termV95WofV95W2} 
\begin{verbatim}
term_of/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sentenceV95WofV95W2}

\begin{verbatim}
sentence_of/2
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a natural language file to a sentence built as a list of words - on backtracking

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{codesV95WwordsV95W2} 
\begin{verbatim}
codes_words/2
\end{verbatim}

\item \ref{sentenceV95WofV95W3} 
\begin{verbatim}
sentence_of/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sentenceV95WofV95W3}

\begin{verbatim}
sentence_of/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (File,Ends,Sent) reads a file to a sentence separated by Ends - on backtracking

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{findV95WfileV95W2} 
\begin{verbatim}
find_file/2
\end{verbatim}

\item \ref{fopenV95W3} 
\begin{verbatim}
fopen/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{lineV95WofV95W2} 
\begin{verbatim}
line_of/2
\end{verbatim}

\item \ref{sentenceV95WofV95W2} 
\begin{verbatim}
sentence_of/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{serviceV95WloopV95W2}

\begin{verbatim}
service_loop/2
\end{verbatim}

{\small \begin{verbatim}
INFO: ServiceSocket,Password:starts service loop on reusable ServiceSocket - works on server side with server/2

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{answerV95WoneV95WqueryV95W2} 
\begin{verbatim}
answer_one_query/2
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{repeatV95W0} 
\begin{verbatim}
repeat/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setV95WbpV95WerrorV95W4}

\begin{verbatim}
set_bp_error/4
\end{verbatim}

{\small \begin{verbatim}
INFO: (Id,Mes,Arg1,Arg2): notifies emulator about error condition

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\item \ref{vsetV95W2} 
\begin{verbatim}
vset/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{clearV95WbpV95WerrorV95W0} 
\begin{verbatim}
clear_bp_error/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setV95WcV95WthresholdV95W1}

\begin{verbatim}
set_c_threshold/1
\end{verbatim}

{\small \begin{verbatim}
INFO: related to C generator: sets length K of WAM instruction block such that block larger than K will get compiled to C code

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{setV95WcV95WthresholdV95W2} 
\begin{verbatim}
set_c_threshold/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setV95WcV95WthresholdV95W2}

\begin{verbatim}
set_c_threshold/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Min,Max): related to C generator: sets Min,Max length of WAM instruction block such that blocks between Min and Max size will get compiled to C code

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bbV95WletV95W3} 
\begin{verbatim}
bb_let/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{qmakeV95W2} 
\begin{verbatim}
qmake/2
\end{verbatim}

\item \ref{setV95WcV95WthresholdV95W1} 
\begin{verbatim}
set_c_threshold/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setV95WdbV95W1}

\begin{verbatim}
set_db/1
\end{verbatim}

{\small \begin{verbatim}
INFO: sets the name of active database for dynamic code

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{vsetV95W2} 
\begin{verbatim}
vset/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{oconsultV95W1} 
\begin{verbatim}
oconsult/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setV95WdefaultV95W1}

\begin{verbatim}
set_default/1
\end{verbatim}

{\small \begin{verbatim}
INFO: asserts arg 1 as default state for use by default/2

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{assertV95W1} 
\begin{verbatim}
assert/1
\end{verbatim}

\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\item \ref{retractallV95W1} 
\begin{verbatim}
retractall/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{setV95WhostV95W1} 
\begin{verbatim}
set_host/1
\end{verbatim}

\item \ref{setV95WloginV95W1} 
\begin{verbatim}
set_login/1
\end{verbatim}

\item \ref{setV95WportV95W1} 
\begin{verbatim}
set_port/1
\end{verbatim}

\item \ref{setV95WprologV95WflagV95W2} 
\begin{verbatim}
set_prolog_flag/2
\end{verbatim}

\item \ref{setV95WthisV95WhostV95W1} 
\begin{verbatim}
set_this_host/1
\end{verbatim}

\item \ref{setV95WtimeoutV95W1} 
\begin{verbatim}
set_timeout/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setV95WhashV95WmaxV95W1}

\begin{verbatim}
set_hash_max/1
\end{verbatim}

{\small \begin{verbatim}
INFO: Set the range of values from -1 to -Max, that should be a prime number, defaults to 1999

\end{verbatim}}

\subsubsection{Predicate:} \label{setV95WhostV95W1}

\begin{verbatim}
set_host/1
\end{verbatim}

{\small \begin{verbatim}
INFO: asserts IP adress or name of server host we want to talk to

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{setV95WdefaultV95W1} 
\begin{verbatim}
set_default/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setV95WinputV95W1}

\begin{verbatim}
set_input/1
\end{verbatim}

{\small \begin{verbatim}
INFO: sets current input stream

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{pcollectV95W2} 
\begin{verbatim}
pcollect/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setV95WlinenoV95W1}

\begin{verbatim}
set_lineno/1
\end{verbatim}

{\small \begin{verbatim}
INFO: sets line number counter in current file - use with care

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{integerV95W1} 
\begin{verbatim}
integer/1
\end{verbatim}

\item \ref{vsetV95WintV95W2} 
\begin{verbatim}
vset_int/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{includeV95W1} 
\begin{verbatim}
include/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setV95WloadV95WmethodV95W1}

\begin{verbatim}
set_load_method/1
\end{verbatim}

{\small \begin{verbatim}
INFO: sets the current load method by name

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{loadV95WmethodV95W2} 
\begin{verbatim}
load_method/2
\end{verbatim}

\item \ref{vsetV95W2} 
\begin{verbatim}
vset/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setV95WloginV95W1}

\begin{verbatim}
set_login/1
\end{verbatim}

{\small \begin{verbatim}
INFO: asserts default (nick)name for user

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{setV95WdefaultV95W1} 
\begin{verbatim}
set_default/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setV95WoutputV95W1}

\begin{verbatim}
set_output/1
\end{verbatim}

{\small \begin{verbatim}
INFO: sets current output stream

\end{verbatim}}

\subsubsection{Predicate:} \label{setV95WpasswordV95W1}

\begin{verbatim}
set_password/1
\end{verbatim}

{\small \begin{verbatim}
INFO: sets default password for user

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{hideV95WdefaultV95W1} 
\begin{verbatim}
hide_default/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setV95WportV95W1}

\begin{verbatim}
set_port/1
\end{verbatim}

{\small \begin{verbatim}
INFO: asserts port number of the server we want to talk to

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{integerV95W1} 
\begin{verbatim}
integer/1
\end{verbatim}

\item \ref{setV95WdefaultV95W1} 
\begin{verbatim}
set_default/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setV95WprologV95WflagV95W2}

\begin{verbatim}
set_prolog_flag/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Flag,Value): sets the value of a Prolog flag

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{setV95WdefaultV95W1} 
\begin{verbatim}
set_default/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setV95WthisV95WhostV95W1}

\begin{verbatim}
set_this_host/1
\end{verbatim}

{\small \begin{verbatim}
INFO: asserts IP adress or name of this machine

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{setV95WdefaultV95W1} 
\begin{verbatim}
set_default/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setV95WthisV95WportV95W1}

\begin{verbatim}
set_this_port/1
\end{verbatim}

{\small \begin{verbatim}
INFO: asserts default port for to work as a server on

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{integerV95W1} 
\begin{verbatim}
integer/1
\end{verbatim}

\item \ref{vsetV95W2} 
\begin{verbatim}
vset/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setV95WtimeoutV95W1}

\begin{verbatim}
set_timeout/1
\end{verbatim}

{\small \begin{verbatim}
INFO: asserts default timeout

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{setV95WdefaultV95W1} 
\begin{verbatim}
set_default/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{setargV95W3}

\begin{verbatim}
setarg/3
\end{verbatim}

{\small \begin{verbatim}
INFO: backtrackable: setarg(I,T,X) replaces arg I of T with X

EXAMPLE(S):

?-setarg(2,f(a,b),c).

yes

\end{verbatim}}

\subsubsection{Predicate:} \label{setofV95W3}

\begin{verbatim}
setof/3
\end{verbatim}

{\small \begin{verbatim}
INFO: all solutions predicate generating sorted sets of unduplicated answers

EXAMPLE(S):

?-setof(_A,member(_A,[3,2,2,1]),_B).
_A = _x149050;
_B = [1,2,3];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{sortV95W2} 
\begin{verbatim}
sort/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{shellV95W1}

\begin{verbatim}
shell/1
\end{verbatim}

{\small \begin{verbatim}
INFO: passes a command to the OS

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{systemV95W1} 
\begin{verbatim}
system/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{showV95WdefaultV95W1}

\begin{verbatim}
show_default/1
\end{verbatim}

{\small \begin{verbatim}
INFO: makes available a default value

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bbV95WvalV95W3} 
\begin{verbatim}
bb_val/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{defaultV95W2} 
\begin{verbatim}
default/2
\end{verbatim}

\item \ref{getV95WpasswordV95W1} 
\begin{verbatim}
get_password/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{showV95WdefaultsV95W0}

\begin{verbatim}
show_defaults/0
\end{verbatim}

{\small \begin{verbatim}
INFO: show default values of some system variables

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{appendV95W3} 
\begin{verbatim}
append/3
\end{verbatim}

\item \ref{callV95WifdefV95W2} 
\begin{verbatim}
call_ifdef/2
\end{verbatim}

\item \ref{currentV95WpredicateV95W2} 
\begin{verbatim}
current_predicate/2
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\item \ref{nameV95W2} 
\begin{verbatim}
name/2
\end{verbatim}

\item \ref{nlV95W0} 
\begin{verbatim}
nl/0
\end{verbatim}

\item \ref{writeV95W1} 
\begin{verbatim}
write/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{showV95WengineV95W0}

\begin{verbatim}
show_engine/0
\end{verbatim}

{\small \begin{verbatim}
INFO: if debugmes/1 is on (as with quiet(1)), shows params of current engine

\end{verbatim}}

\subsubsection{Predicate:} \label{showV95WinfoV95W2}

\begin{verbatim}
show_info/2
\end{verbatim}

{\small \begin{verbatim}
INFO: generates components of info/1 output

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\item \ref{nlV95W0} 
\begin{verbatim}
nl/0
\end{verbatim}

\item \ref{writeV95W1} 
\begin{verbatim}
write/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{signV95W2}

\begin{verbatim}
sign/2
\end{verbatim}

{\small \begin{verbatim}
INFO: int function

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{V62WV95W2} 
\begin{verbatim}
(>)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sinV95W2}

\begin{verbatim}
sin/2
\end{verbatim}

{\small \begin{verbatim}
INFO: float function

\end{verbatim}}

\subsubsection{Predicate:} \label{skipV95WuntilV95W2}

\begin{verbatim}
skip_until/2
\end{verbatim}

{\small \begin{verbatim}
INFO: findall variant

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{nthV95WanswerV95W2} 
\begin{verbatim}
nth_answer/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{skipV95WwhenV95W2}

\begin{verbatim}
skip_when/2
\end{verbatim}

{\small \begin{verbatim}
INFO: findall variant

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dropV95WatV95WleastV95W2} 
\begin{verbatim}
drop_at_least/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sleepV95W1}

\begin{verbatim}
sleep/1
\end{verbatim}

{\small \begin{verbatim}
INFO: waits arg 1 seconds

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{rpcV95WtestV95W0} 
\begin{verbatim}
rpc_test/0
\end{verbatim}

\item \ref{timedV95WcallV95W4} 
\begin{verbatim}
timed_call/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sock2fileV95W2}

\begin{verbatim}
sock2file/2
\end{verbatim}

{\small \begin{verbatim}
INFO: reads from a socket, to a file

\end{verbatim}}

\subsubsection{Predicate:} \label{sockV95WreadV95W2}

\begin{verbatim}
sock_read/2
\end{verbatim}

{\small \begin{verbatim}
INFO: reads from a socket when size of the data is described by int before chars to be read

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{sockV95WreadV95W3} 
\begin{verbatim}
sock_read/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sockV95WreadV95W3}

\begin{verbatim}
sock_read/3
\end{verbatim}

{\small \begin{verbatim}
INFO: reads from a socket, a string

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{sockV95WreadV95W2} 
\begin{verbatim}
sock_read/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sockV95WreadlnV95W2}

\begin{verbatim}
sock_readln/2
\end{verbatim}

{\small \begin{verbatim}
INFO: reads from a socket until an end of line LF (ascii 10) or char 0 is found and discards possible previous CR (ascii13)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{sockV95WreadlnV95W3} 
\begin{verbatim}
sock_readln/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sockV95WreadlnV95W3}

\begin{verbatim}
sock_readln/3
\end{verbatim}

{\small \begin{verbatim}
INFO: reads from a socket, a line

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{sockV95WreadlnV95W2} 
\begin{verbatim}
sock_readln/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sockV95WwriteV95W2}

\begin{verbatim}
sock_write/2
\end{verbatim}

{\small \begin{verbatim}
INFO: writes a string to a socket prefixed by its lenght

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{sockV95WwriteV95W3} 
\begin{verbatim}
sock_write/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sockV95WwriteV95W3}

\begin{verbatim}
sock_write/3
\end{verbatim}

{\small \begin{verbatim}
INFO: writes to a socket, a string

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{sockV95WwriteV95W2} 
\begin{verbatim}
sock_write/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sockV95WwritelnV95W2}

\begin{verbatim}
sock_writeln/2
\end{verbatim}

{\small \begin{verbatim}
INFO: writes a string to a socket and adds an ascii 10 to the end

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{sockV95WwritelnV95W3} 
\begin{verbatim}
sock_writeln/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sockV95WwritelnV95W3}

\begin{verbatim}
sock_writeln/3
\end{verbatim}

{\small \begin{verbatim}
INFO: writes to a socket, a line

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{sockV95WwritelnV95W2} 
\begin{verbatim}
sock_writeln/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{solutionsV95W2}

\begin{verbatim}
solutions/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (GX,Xs): adds (last) output arg X to closure G then works like findall(X,GX,Xs)

EXAMPLE(S):

?-solutions(argn(_A,f(a,b,c)),_B).
_A = _x149017;
_B = [a,b,c];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WappendV95W3} 
\begin{verbatim}
term_append/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sortV95W2}

\begin{verbatim}
sort/2
\end{verbatim}

{\small \begin{verbatim}
INFO: sorts and removes duplicates

EXAMPLE(S):

?-sort([2,1,3,1,4,4,2],_A).
_A = [1,2,3,4];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{mergeV95WsortV95W3} 
\begin{verbatim}
merge_sort/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{answerV95WofV95W2} 
\begin{verbatim}
answer_of/2
\end{verbatim}

\item \ref{aproposV95W1} 
\begin{verbatim}
apropos/1
\end{verbatim}

\item \ref{setofV95W3} 
\begin{verbatim}
setof/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{spawnV95W1}

\begin{verbatim}
spawn/1
\end{verbatim}

{\small \begin{verbatim}
INFO: spawns Goal in a new bp window on W95/NT PC and Unix/X

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{spawnV95W3} 
\begin{verbatim}
spawn/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{spawnV95W3}

\begin{verbatim}
spawn/3
\end{verbatim}

{\small \begin{verbatim}
INFO: spawns(Goal,Includes,TempFile): spawns a new bp window

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{debugmesV95W1} 
\begin{verbatim}
debugmes/1
\end{verbatim}

\item \ref{foreachV95W2} 
\begin{verbatim}
foreach/2
\end{verbatim}

\item \ref{namecatV95W4} 
\begin{verbatim}
namecat/4
\end{verbatim}

\item \ref{nlV95W0} 
\begin{verbatim}
nl/0
\end{verbatim}

\item \ref{ppV95WclauseV95W1} 
\begin{verbatim}
pp_clause/1
\end{verbatim}

\item \ref{systemV95W1} 
\begin{verbatim}
system/1
\end{verbatim}

\item \ref{tellV95W1} 
\begin{verbatim}
tell/1
\end{verbatim}

\item \ref{toldV95W0} 
\begin{verbatim}
told/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{spawnV95W1} 
\begin{verbatim}
spawn/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{spyV95W1}

\begin{verbatim}
(spy)/1
\end{verbatim}

{\small \begin{verbatim}
INFO: set spy point on goal, triggering trace when interpreted

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bbV95WletV95W3} 
\begin{verbatim}
bb_let/3
\end{verbatim}

\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\item \ref{isV95WbuiltinV95W1} 
\begin{verbatim}
is_builtin/1
\end{verbatim}

\item \ref{seeingV95W1} 
\begin{verbatim}
seeing/1
\end{verbatim}

\item \ref{ttyprintV95W1} 
\begin{verbatim}
ttyprint/1
\end{verbatim}

\item \ref{userV95WerrorV95W2} 
\begin{verbatim}
user_error/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{traceV95W0} 
\begin{verbatim}
trace/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{spyingV95W1}

\begin{verbatim}
spying/1
\end{verbatim}

{\small \begin{verbatim}
INFO: checks what we are spying

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{isV95WbuiltinV95W1} 
\begin{verbatim}
is_builtin/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sqrtV95W2}

\begin{verbatim}
sqrt/2
\end{verbatim}

{\small \begin{verbatim}
INFO: returns square root of arg 1, a float

EXAMPLE(S):

?-sqrt(2,_A).
_A = 1.41421356;

no

\end{verbatim}}

\subsubsection{Predicate:} \label{sreadV95W2}

\begin{verbatim}
sread/2
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a term from a string (atom)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{sreadV95W3} 
\begin{verbatim}
sread/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{numberV95WcodesV95W2} 
\begin{verbatim}
number_codes/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sreadV95W3}

\begin{verbatim}
sread/3
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a term and a list of vars from a string (atom)

EXAMPLE(S):

?-sread(f(X,Y),_A,_B).
_A = f(_x149840,_x149868);
_B = [X = _x149840,Y = _x149868];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{nameV95W2} 
\begin{verbatim}
name/2
\end{verbatim}

\item \ref{readV95WtermV95WfromV95WcharsV95W3} 
\begin{verbatim}
read_term_from_chars/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{sreadV95W2} 
\begin{verbatim}
sread/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{starV95W4}

\begin{verbatim}
star/4
\end{verbatim}

{\small \begin{verbatim}
INFO: star(Recognizer,Result): DCG based star regexp processor for (Recognizer)*

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dcgV95WcallV95W4} 
\begin{verbatim}
dcg_call/4
\end{verbatim}

\item \ref{starV95W4} 
\begin{verbatim}
star/4
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{plusV95W4} 
\begin{verbatim}
plus/4
\end{verbatim}

\item \ref{starV95W4} 
\begin{verbatim}
star/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{startV95WrpcV95W0}

\begin{verbatim}
start_rpc/0
\end{verbatim}

{\small \begin{verbatim}
INFO: starts rpc client on default local reusable socket and port

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{defaultV95WhostV95W1} 
\begin{verbatim}
default_host/1
\end{verbatim}

\item \ref{defaultV95WpasswordV95W1} 
\begin{verbatim}
default_password/1
\end{verbatim}

\item \ref{defaultV95WportV95W1} 
\begin{verbatim}
default_port/1
\end{verbatim}

\item \ref{startV95WrpcV95W3} 
\begin{verbatim}
start_rpc/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{rpcV95WtestV95W1} 
\begin{verbatim}
rpc_test/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{startV95WrpcV95W3}

\begin{verbatim}
start_rpc/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (Host,Port,Password): starts rpc client on local reusable socket

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\item \ref{newV95WclientV95W3} 
\begin{verbatim}
new_client/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{startV95WrpcV95W0} 
\begin{verbatim}
start_rpc/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{statV95W0}

\begin{verbatim}
stat/0
\end{verbatim}

{\small \begin{verbatim}
INFO: short hand for statistics

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{statisticsV95W0} 
\begin{verbatim}
statistics/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{stat2dynV95W1}

\begin{verbatim}
stat2dyn/1
\end{verbatim}

{\small \begin{verbatim}
INFO: stat2dyn(H): reverts to uncompiled representation for a predicate with head H

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\item \ref{stat2dynV95W2} 
\begin{verbatim}
stat2dyn/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{stat2dynV95W2}

\begin{verbatim}
stat2dyn/2
\end{verbatim}

{\small \begin{verbatim}
INFO: stat2dyn(Db,H): reverts to uncompiled representation for a predicate in database Db with head H

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dbV95WheadV95W2} 
\begin{verbatim}
db_head/2
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{stat2dynV95W1} 
\begin{verbatim}
stat2dyn/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{staticV95WprologV95WflagV95W2}

\begin{verbatim}
static_prolog_flag/2
\end{verbatim}

{\small \begin{verbatim}
INFO: contains read-only Prolog flag values

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dyncoV95W1} 
\begin{verbatim}
dynco/1
\end{verbatim}

\item \ref{isV95WprologV95W1} 
\begin{verbatim}
is_prolog/1
\end{verbatim}

\item \ref{symcatV95W3} 
\begin{verbatim}
symcat/3
\end{verbatim}

\item \ref{vreadV95W2} 
\begin{verbatim}
vread/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{statisticsV95W0}

\begin{verbatim}
statistics/0
\end{verbatim}

{\small \begin{verbatim}
INFO: shows info about data areas

EXAMPLE(S):

?-statistics.
runtime=[22828,15782]
global_stack=[595896,1420104]
local_stack=[224,1022740]
trail=[75144,947828]
code=[266652,781908]
strings=[26509,1022067]
symbols=[22380,239764]
htable=[158544,627888]
bboard=[1693084,39264864]
gctime=[0,0]
realtime=[23,372179905]

yes

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{nlV95W0} 
\begin{verbatim}
nl/0
\end{verbatim}

\item \ref{statisticsV95W2} 
\begin{verbatim}
statistics/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{statV95W0} 
\begin{verbatim}
stat/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{statisticsV95W2}

\begin{verbatim}
statistics/2
\end{verbatim}

{\small \begin{verbatim}
INFO: returns info about data areas

EXAMPLE(S):

?-statistics(_A,_B).
_A = runtime;
_B = [22859,31];

_A = global_stack;
_B = [596712,1419288];

_A = local_stack;
_B = [208,1022756];

_A = trail;
_B = [75172,947800];

_A = code;
_B = [266652,781908];

_A = strings;
_B = [26509,1022067];

_A = symbols;
_B = [22380,239764];

_A = htable;
_B = [158544,627888];

_A = bboard;
_B = [1694448,39263500];

_A = gctime;
_B = [0,0];

_A = realtime;
_B = [23,372179905];

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{abstimeV95W1} 
\begin{verbatim}
abstime/1
\end{verbatim}

\item \ref{bbV95Wgc0V95W0} 
\begin{verbatim}
bb_gc0/0
\end{verbatim}

\item \ref{ctimeV95W1} 
\begin{verbatim}
ctime/1
\end{verbatim}

\item \ref{otimeV95W1} 
\begin{verbatim}
otime/1
\end{verbatim}

\item \ref{rtimeV95W1} 
\begin{verbatim}
rtime/1
\end{verbatim}

\item \ref{statisticsV95W0} 
\begin{verbatim}
statistics/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{stopV95W0}

\begin{verbatim}
stop/0
\end{verbatim}

{\small \begin{verbatim}
INFO: exits thread or process

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{haltV95W1} 
\begin{verbatim}
halt/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{stopV95W1}

\begin{verbatim}
stop/1
\end{verbatim}

{\small \begin{verbatim}
INFO: stops and frees resources held by an engine (may happen automaticaly if an engine fails)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{destroyV95WengineV95W1} 
\begin{verbatim}
destroy_engine/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{stopV95WrpcV95W0}

\begin{verbatim}
stop_rpc/0
\end{verbatim}

{\small \begin{verbatim}
INFO: stops rpc client on local reusable socket

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{rpcV95WtestV95W1} 
\begin{verbatim}
rpc_test/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{stopV95WserviceV95W0}

\begin{verbatim}
stop_service/0
\end{verbatim}

{\small \begin{verbatim}
INFO: stops server with socket reuse - acts on the server side

\end{verbatim}}

\subsubsection{Predicate:} \label{subsumesV95WchkV95W2}

\begin{verbatim}
subsumes_chk/2
\end{verbatim}

{\small \begin{verbatim}
INFO: checks if arg 1 is subsumed by arg 2, after renaming vars

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{variantV95WofV95W2} 
\begin{verbatim}
variant_of/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{sumV95W2}

\begin{verbatim}
sum/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (List,?Result): sum of a list

EXAMPLE(S):

?-sum([10,20],_A).
_A = 30;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{foldlV95W4} 
\begin{verbatim}
foldl/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{swriteV95W2}

\begin{verbatim}
swrite/2
\end{verbatim}

{\small \begin{verbatim}
INFO: writes a term to a string (atom)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{atomV95WcodesV95W2} 
\begin{verbatim}
atom_codes/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{swriteV95W3}

\begin{verbatim}
swrite/3
\end{verbatim}

{\small \begin{verbatim}
INFO: writes a term with a liste of vars to a string (atom)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{nameV95W2} 
\begin{verbatim}
name/2
\end{verbatim}

\item \ref{writeV95WtermV95WtoV95WcharsV95W3} 
\begin{verbatim}
write_term_to_chars/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{symcatV95W3}

\begin{verbatim}
symcat/3
\end{verbatim}

{\small \begin{verbatim}
INFO: makes new identifier from arg 1 and arg 2

EXAMPLE(S):

?-symcat(a,b,_A).
_A = a_b;

no

?-symcat(a,1,_A).
_A = a_1;

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{gensymV95W2} 
\begin{verbatim}
gensym/2
\end{verbatim}

\item \ref{mapsV95WiterateV95W1} 
\begin{verbatim}
maps_iterate/1
\end{verbatim}

\item \ref{mmapsV95WiterateV95W1} 
\begin{verbatim}
mmaps_iterate/1
\end{verbatim}

\item \ref{oconsultV95W1} 
\begin{verbatim}
oconsult/1
\end{verbatim}

\item \ref{staticV95WprologV95WflagV95W2} 
\begin{verbatim}
static_prolog_flag/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{synchronizeV95W1}

\begin{verbatim}
synchronize/1
\end{verbatim}

{\small \begin{verbatim}
INFO: wraps Goal in arg 1 for serialized execution

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{synchronizeV95WonV95W2} 
\begin{verbatim}
synchronize_on/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{printlnV95W1} 
\begin{verbatim}
println/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{synchronizeV95W2}

\begin{verbatim}
synchronize/2
\end{verbatim}

{\small \begin{verbatim}
INFO: wraps Goal for serialized execution and returns true or fail

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{synchronizeV95WonV95W3} 
\begin{verbatim}
synchronize_on/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{freeV95WthreadV95WguardV95W1} 
\begin{verbatim}
free_thread_guard/1
\end{verbatim}

\item \ref{getV95WcriticalV95W2} 
\begin{verbatim}
get_critical/2
\end{verbatim}

\item \ref{newV95WthreadV95WguardV95W1} 
\begin{verbatim}
new_thread_guard/1
\end{verbatim}

\item \ref{putV95WcriticalV95W2} 
\begin{verbatim}
put_critical/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{synchronizeV95WonV95W2}

\begin{verbatim}
synchronize_on/2
\end{verbatim}

{\small \begin{verbatim}
INFO: wraps Goal for sync on given mutex for serialized execution

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{hasV95WthreadsV95W0} 
\begin{verbatim}
has_threads/0
\end{verbatim}

\item \ref{synchronizeV95WonV95W3} 
\begin{verbatim}
synchronize_on/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{findallV95W4} 
\begin{verbatim}
findall/4
\end{verbatim}

\item \ref{freeV95WthreadV95WguardV95W1} 
\begin{verbatim}
free_thread_guard/1
\end{verbatim}

\item \ref{localV95WallV95W3} 
\begin{verbatim}
local_all/3
\end{verbatim}

\item \ref{localV95WcinV95W1} 
\begin{verbatim}
local_cin/1
\end{verbatim}

\item \ref{localV95WinV95W1} 
\begin{verbatim}
local_in/1
\end{verbatim}

\item \ref{localV95WoutV95W1} 
\begin{verbatim}
local_out/1
\end{verbatim}

\item \ref{localV95WrdV95W1} 
\begin{verbatim}
local_rd/1
\end{verbatim}

\item \ref{localV95WwhenV95W1} 
\begin{verbatim}
local_when/1
\end{verbatim}

\item \ref{newV95WthreadV95WguardV95W1} 
\begin{verbatim}
new_thread_guard/1
\end{verbatim}

\item \ref{synchronizeV95W1} 
\begin{verbatim}
synchronize/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{synchronizeV95WonV95W3}

\begin{verbatim}
synchronize_on/3
\end{verbatim}

{\small \begin{verbatim}
INFO: wraps Goal for sync on given mutex for serialized execution and returns true or fail

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{lockV95WthreadV95WguardV95W1} 
\begin{verbatim}
lock_thread_guard/1
\end{verbatim}

\item \ref{unlockV95WthreadV95WguardV95W1} 
\begin{verbatim}
unlock_thread_guard/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{getV95WcriticalV95W2} 
\begin{verbatim}
get_critical/2
\end{verbatim}

\item \ref{putV95WcriticalV95W2} 
\begin{verbatim}
put_critical/2
\end{verbatim}

\item \ref{synchronizeV95W2} 
\begin{verbatim}
synchronize/2
\end{verbatim}

\item \ref{synchronizeV95WonV95W2} 
\begin{verbatim}
synchronize_on/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{systemV95W1}

\begin{verbatim}
system/1
\end{verbatim}

{\small \begin{verbatim}
INFO: passes a command to the OS

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{systemV95W2} 
\begin{verbatim}
system/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dirV95W0} 
\begin{verbatim}
dir/0
\end{verbatim}

\item \ref{editV95W2} 
\begin{verbatim}
edit/2
\end{verbatim}

\item \ref{lsV95W0} 
\begin{verbatim}
ls/0
\end{verbatim}

\item \ref{pwdV95W0} 
\begin{verbatim}
pwd/0
\end{verbatim}

\item \ref{shellV95W1} 
\begin{verbatim}
shell/1
\end{verbatim}

\item \ref{spawnV95W3} 
\begin{verbatim}
spawn/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{systemV95W2}

\begin{verbatim}
system/2
\end{verbatim}

{\small \begin{verbatim}
INFO: passes a command to the OS and gets back return code

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{atomicV95W1} 
\begin{verbatim}
atomic/1
\end{verbatim}

\item \ref{nameV95W2} 
\begin{verbatim}
name/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{systemV95W1} 
\begin{verbatim}
system/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{tabV95W1}

\begin{verbatim}
tab/1
\end{verbatim}

{\small \begin{verbatim}
INFO: outputs N blanks

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{integerV95W1} 
\begin{verbatim}
integer/1
\end{verbatim}

\item \ref{userV95WerrorV95W2} 
\begin{verbatim}
user_error/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{takeV95WatV95WmostV95W2}

\begin{verbatim}
take_at_most/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (N,Goal) computes at most N answers of Goal

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{whileV95W2} 
\begin{verbatim}
while/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{findV95WatV95WmostV95W4} 
\begin{verbatim}
find_at_most/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{tanV95W2}

\begin{verbatim}
tan/2
\end{verbatim}

{\small \begin{verbatim}
INFO: float function

\end{verbatim}}

\subsubsection{Predicate:} \label{tellV95W1}

\begin{verbatim}
tell/1
\end{verbatim}

{\small \begin{verbatim}
INFO: focuses output on a file

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{userV95WerrorV95W2} 
\begin{verbatim}
user_error/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dbV95WsaveV95W2} 
\begin{verbatim}
db_save/2
\end{verbatim}

\item \ref{hashV95WsaveV95W2} 
\begin{verbatim}
hash_save/2
\end{verbatim}

\item \ref{makeV95WcompileableV95W2} 
\begin{verbatim}
make_compileable/2
\end{verbatim}

\item \ref{spawnV95W3} 
\begin{verbatim}
spawn/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{tellV95WatV95W1}

\begin{verbatim}
tell_at/1
\end{verbatim}

{\small \begin{verbatim}
INFO: moves output file pointer to a given offset (in bytes)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{userV95WerrorV95W2} 
\begin{verbatim}
user_error/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{tellV95WatV95WendV95W1}

\begin{verbatim}
tell_at_end/1
\end{verbatim}

{\small \begin{verbatim}
INFO: focuses output on file opened in append mode

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{userV95WerrorV95W2} 
\begin{verbatim}
user_error/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{tellingV95W1}

\begin{verbatim}
telling/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets file name opened and set by tell/1

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{makeV95WcompileableV95W2} 
\begin{verbatim}
make_compileable/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{tellingV95WatV95W1}

\begin{verbatim}
telling_at/1
\end{verbatim}

{\small \begin{verbatim}
INFO: retrieves output file position (in bytes)

\end{verbatim}}

\subsubsection{Predicate:} \label{termV95WappendV95W3}

\begin{verbatim}
term_append/3
\end{verbatim}

{\small \begin{verbatim}
INFO: efficiently concatenates 2 terms

EXAMPLE(S):

?-term_append(f(a,b),g(c,d),_A).
_A = f(a,b,c,d);

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{callV95W2} 
\begin{verbatim}
call/2
\end{verbatim}

\item \ref{callV95W3} 
\begin{verbatim}
call/3
\end{verbatim}

\item \ref{callV95W4} 
\begin{verbatim}
call/4
\end{verbatim}

\item \ref{callV95W5} 
\begin{verbatim}
call/5
\end{verbatim}

\item \ref{callV95W6} 
\begin{verbatim}
call/6
\end{verbatim}

\item \ref{callV95W7} 
\begin{verbatim}
call/7
\end{verbatim}

\item \ref{solutionsV95W2} 
\begin{verbatim}
solutions/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{termV95WcharsV95W2}

\begin{verbatim}
term_chars/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Term,Chars): converts between a term and its list of char code representation

EXAMPLE(S):

?-term_chars(f(a,b),_A).
_A = [102,40,97,44,98,41];

no

?-term_chars(_A,[102,40,97,44,98,41]).
_A = f(a,b);

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WcodesV95W2} 
\begin{verbatim}
term_codes/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{toV95WstringV95W2} 
\begin{verbatim}
to_string/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{termV95WcodesV95W2}

\begin{verbatim}
term_codes/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Term,Chars): converts between a term and its list of char code representation

EXAMPLE(S):

?-term_codes(f(a,b),_A).
_A = [102,40,97,44,98,41];

no

?-term_codes(_A,[102,40,97,44,98,41]).
_A = f(a,b);

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{termV95WcharsV95W2} 
\begin{verbatim}
term_chars/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{termV95WhashV95W2}

\begin{verbatim}
term_hash/2
\end{verbatim}

{\small \begin{verbatim}
INFO: computes hash code on terms ground up to depth 64; fails if something is unbound or the limit is reached

EXAMPLE(S):

?-term_hash(t(a,b),_A).
_A = 236945626;

no

?-term_hash(t(a,c),_A).
_A = 236945625;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{deepV95WhashV95W4} 
\begin{verbatim}
deep_hash/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{termV95WofV95W2}

\begin{verbatim}
term_of/2
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a Prolog file to a set of terms - on backtracking

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{V61WV61WV95W2} 
\begin{verbatim}
(==)/2
\end{verbatim}

\item \ref{argV95W3} 
\begin{verbatim}
arg/3
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{findV95WfileV95W2} 
\begin{verbatim}
find_file/2
\end{verbatim}

\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\item \ref{readV95W1} 
\begin{verbatim}
read/1
\end{verbatim}

\item \ref{repeatV95W0} 
\begin{verbatim}
repeat/0
\end{verbatim}

\item \ref{seeV95W1} 
\begin{verbatim}
see/1
\end{verbatim}

\item \ref{seeingV95W1} 
\begin{verbatim}
seeing/1
\end{verbatim}

\item \ref{seenV95W0} 
\begin{verbatim}
seen/0
\end{verbatim}

\item \ref{termV95WofV95W2} 
\begin{verbatim}
term_of/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{clauseV95WofV95W2} 
\begin{verbatim}
clause_of/2
\end{verbatim}

\item \ref{hashV95WloadV95W1} 
\begin{verbatim}
hash_load/1
\end{verbatim}

\item \ref{termV95WofV95W2} 
\begin{verbatim}
term_of/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{termV95WstoreV95WopV95W4}

\begin{verbatim}
term_store_op/4
\end{verbatim}

{\small \begin{verbatim}
INFO: API for external term storage

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{closeV95WiteratorV95W1} 
\begin{verbatim}
close_iterator/1
\end{verbatim}

\item \ref{countV95WtermsV95W2} 
\begin{verbatim}
count_terms/2
\end{verbatim}

\item \ref{deleteV95WallV95WtermsV95W1} 
\begin{verbatim}
delete_all_terms/1
\end{verbatim}

\item \ref{freeV95WtermV95W1} 
\begin{verbatim}
free_term/1
\end{verbatim}

\item \ref{getV95WnextV95WtermV95W2} 
\begin{verbatim}
get_next_term/2
\end{verbatim}

\item \ref{hasV95WtermsV95W1} 
\begin{verbatim}
has_terms/1
\end{verbatim}

\item \ref{instanceV95WofV95W2} 
\begin{verbatim}
instance_of/2
\end{verbatim}

\item \ref{newV95WiteratorV95W2} 
\begin{verbatim}
new_iterator/2
\end{verbatim}

\item \ref{newV95WkeyV95WiteratorV95W1} 
\begin{verbatim}
new_key_iterator/1
\end{verbatim}

\item \ref{newV95WtermV95W2} 
\begin{verbatim}
new_term/2
\end{verbatim}

\item \ref{processV95WtermV95W3} 
\begin{verbatim}
process_term/3
\end{verbatim}

\item \ref{pushV95WtermV95W2} 
\begin{verbatim}
push_term/2
\end{verbatim}

\item \ref{putV95WtermV95W2} 
\begin{verbatim}
put_term/2
\end{verbatim}

\item \ref{removeV95WcurrentV95WtermV95W1} 
\begin{verbatim}
remove_current_term/1
\end{verbatim}

\item \ref{tstestV95W3} 
\begin{verbatim}
tstest/3
\end{verbatim}

\item \ref{updateV95WcurrentV95WtermV95W2} 
\begin{verbatim}
update_current_term/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{texteditV95W0}

\begin{verbatim}
textedit/0
\end{verbatim}

{\small \begin{verbatim}
INFO: calls texedit editor on last compiled file

\end{verbatim}}

\subsubsection{Predicate:} \label{theV95W1}

\begin{verbatim}
the/1
\end{verbatim}

{\small \begin{verbatim}
INFO: defined as the(G):-the(G,G)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{theV95W2} 
\begin{verbatim}
the/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{theV95W2}

\begin{verbatim}
the/2
\end{verbatim}

{\small \begin{verbatim}
INFO: defined as the(X,G):-the(X,G,the(X))

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{theV95W3} 
\begin{verbatim}
the/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{theV95W1} 
\begin{verbatim}
the/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{theV95W3}

\begin{verbatim}
the/3
\end{verbatim}

{\small \begin{verbatim}
INFO: the(X,G,R) first answer R=the(X) or R=no, without binding G

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{copyV95WtermV95W2} 
\begin{verbatim}
copy_term/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{theV95W2} 
\begin{verbatim}
the/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{thisV95WdbV95W1}

\begin{verbatim}
this_db/1
\end{verbatim}

{\small \begin{verbatim}
INFO: same as current_db, returns the current database

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{thisV95WengineV95W1}

\begin{verbatim}
this_engine/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets a handle to the current engine

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{currentV95WengineV95WaddrV95W1} 
\begin{verbatim}
current_engine_addr/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{fromV95WengineV95W1} 
\begin{verbatim}
from_engine/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{threadV95WcancelV95W1}

\begin{verbatim}
thread_cancel/1
\end{verbatim}

{\small \begin{verbatim}
INFO: terminates (cancels) thread given in arg 1

\end{verbatim}}

\subsubsection{Predicate:} \label{threadV95WexitV95W0}

\begin{verbatim}
thread_exit/0
\end{verbatim}

{\small \begin{verbatim}
INFO: exits a thread

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{threadV95WexitV95W1} 
\begin{verbatim}
thread_exit/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{threadV95WexitV95W1}

\begin{verbatim}
thread_exit/1
\end{verbatim}

{\small \begin{verbatim}
INFO: exits a thread

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{threadV95WexitV95W0} 
\begin{verbatim}
thread_exit/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{threadV95WjoinV95W1}

\begin{verbatim}
thread_join/1
\end{verbatim}

{\small \begin{verbatim}
INFO: joins thread

\end{verbatim}}

\subsubsection{Predicate:} \label{threadV95WnotifyV95W1}

\begin{verbatim}
thread_notify/1
\end{verbatim}

{\small \begin{verbatim}
INFO: notifies a thread waiting on guard with thread_wait

\end{verbatim}}

\subsubsection{Predicate:} \label{threadV95WnotifyV95WallV95W1}

\begin{verbatim}
thread_notify_all/1
\end{verbatim}

{\small \begin{verbatim}
INFO: notifies all threads waiting on guard with thread_wait

\end{verbatim}}

\subsubsection{Predicate:} \label{threadV95WresumeV95W1}

\begin{verbatim}
thread_resume/1
\end{verbatim}

{\small \begin{verbatim}
INFO: resumes execution of suspended thread

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{localV95WoutV95W1} 
\begin{verbatim}
local_out/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{threadV95WsuspendV95W1}

\begin{verbatim}
thread_suspend/1
\end{verbatim}

{\small \begin{verbatim}
INFO: suspends execution of thread

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{localV95WinV95W1} 
\begin{verbatim}
local_in/1
\end{verbatim}

\item \ref{localV95WwhenV95W1} 
\begin{verbatim}
local_when/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{threadV95WtimedV95WwaitV95W2}

\begin{verbatim}
thread_timed_wait/2
\end{verbatim}

{\small \begin{verbatim}
INFO: waits on first arg Guard second arg msec or until notified

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{threadV95WwaitV95W1} 
\begin{verbatim}
thread_wait/1
\end{verbatim}

\item \ref{tryV95WunlockV95WthreadV95WguardV95W2} 
\begin{verbatim}
try_unlock_thread_guard/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{threadV95WwaitV95W1}

\begin{verbatim}
thread_wait/1
\end{verbatim}

{\small \begin{verbatim}
INFO: waits on guard until notified by thread_notify

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{defaultV95WtimeoutV95W1} 
\begin{verbatim}
default_timeout/1
\end{verbatim}

\item \ref{threadV95WtimedV95WwaitV95W2} 
\begin{verbatim}
thread_timed_wait/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{throwV95W1}

\begin{verbatim}
throw/1
\end{verbatim}

{\small \begin{verbatim}
INFO: ISO Prolog exception operator: throws a term to be caught by a matching catch

\end{verbatim}}

\subsubsection{Predicate:} \label{timedV95WcallV95W4}

\begin{verbatim}
timed_call/4
\end{verbatim}

{\small \begin{verbatim}
INFO: (Answer,Goal,Timeout,Result) - calls and possibly stops Goal after Timout secs

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V60WV95W2} 
\begin{verbatim}
(<)/2
\end{verbatim}

\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{V62WV95W2} 
\begin{verbatim}
(>)/2
\end{verbatim}

\item \ref{bgV95W3} 
\begin{verbatim}
bg/3
\end{verbatim}

\item \ref{debugmesV95W1} 
\begin{verbatim}
debugmes/1
\end{verbatim}

\item \ref{destroyV95WengineV95W1} 
\begin{verbatim}
destroy_engine/1
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{forV95W3} 
\begin{verbatim}
for/3
\end{verbatim}

\item \ref{hasV95WthreadsV95W0} 
\begin{verbatim}
has_threads/0
\end{verbatim}

\item \ref{localV95WcinV95W1} 
\begin{verbatim}
local_cin/1
\end{verbatim}

\item \ref{rtimeV95W1} 
\begin{verbatim}
rtime/1
\end{verbatim}

\item \ref{sleepV95W1} 
\begin{verbatim}
sleep/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{toV95WengineV95W2}

\begin{verbatim}
to_engine/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (E,T) sends to engine E a term T, and fails if E has an empty message box

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{bbV95WdefV95W3} 
\begin{verbatim}
bb_def/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{toV95WlowerV95WcharV95W2}

\begin{verbatim}
to_lower_char/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Upper,Lower): converts a char to lower case

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{V61WV60WV95W2} 
\begin{verbatim}
(=<)/2
\end{verbatim}

\item \ref{V62WV61WV95W2} 
\begin{verbatim}
(>=)/2
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{toV95WlowerV95WcharsV95W2} 
\begin{verbatim}
to_lower_chars/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{toV95WlowerV95WcharsV95W2}

\begin{verbatim}
to_lower_chars/2
\end{verbatim}

{\small \begin{verbatim}
INFO: converts a list of chars to lower case

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{toV95WlowerV95WcharV95W2} 
\begin{verbatim}
to_lower_char/2
\end{verbatim}

\item \ref{toV95WlowerV95WcharsV95W2} 
\begin{verbatim}
to_lower_chars/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{toV95WlowerV95WcharsV95W2} 
\begin{verbatim}
to_lower_chars/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{toV95WstringV95W2}

\begin{verbatim}
to_string/2
\end{verbatim}

{\small \begin{verbatim}
INFO: converts a term to a string constant (in paricular, converts numbers to strings)

EXAMPLE(S):

?-to_string(13,_A).
_A = 13;

no

?-to_string(3.14,_A).
_A = 3.14;

no

?-to_string(f(_A,_A),_B).
_A = _x149232;
_B = f(_x149232,_x149232);

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{nameV95W2} 
\begin{verbatim}
name/2
\end{verbatim}

\item \ref{numberV95W1} 
\begin{verbatim}
number/1
\end{verbatim}

\item \ref{termV95WcharsV95W2} 
\begin{verbatim}
term_chars/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{toV95WtokensV95W2}

\begin{verbatim}
to_tokens/2
\end{verbatim}

{\small \begin{verbatim}
INFO: to_tokens(Codes,PrologTokens)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{toV95WupperV95WcharV95W2}

\begin{verbatim}
to_upper_char/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Lower,Upper): converts a char to upper case

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{V61WV60WV95W2} 
\begin{verbatim}
(=<)/2
\end{verbatim}

\item \ref{V62WV61WV95W2} 
\begin{verbatim}
(>=)/2
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{toV95WupperV95WcharsV95W2} 
\begin{verbatim}
to_upper_chars/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{toV95WupperV95WcharsV95W2}

\begin{verbatim}
to_upper_chars/2
\end{verbatim}

{\small \begin{verbatim}
INFO: converts a list of chars to upper case

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{toV95WupperV95WcharV95W2} 
\begin{verbatim}
to_upper_char/2
\end{verbatim}

\item \ref{toV95WupperV95WcharsV95W2} 
\begin{verbatim}
to_upper_chars/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{toV95WupperV95WcharsV95W2} 
\begin{verbatim}
to_upper_chars/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{toV95WwordV95WcodesV95W2}

\begin{verbatim}
to_word_codes/2
\end{verbatim}

{\small \begin{verbatim}
INFO: to_word_codes(Codes,ListOfWordCodes)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{toV95WwordsV95W2} 
\begin{verbatim}
to_words/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{toV95WwordsV95W2}

\begin{verbatim}
to_words/2
\end{verbatim}

{\small \begin{verbatim}
INFO: to_words(Codes,NaturalLanguageWords

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\item \ref{toV95WwordV95WcodesV95W2} 
\begin{verbatim}
to_word_codes/2
\end{verbatim}

\item \ref{varV95W1} 
\begin{verbatim}
var/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{codesV95WwordsV95W2} 
\begin{verbatim}
codes_words/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{tokenV95WofV95W2}

\begin{verbatim}
token_of/2
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a Prolog file to a set of tokens - on backtracking

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{codesV95WwordsV95W2} 
\begin{verbatim}
codes_words/2
\end{verbatim}

\item \ref{lineV95WofV95W2} 
\begin{verbatim}
line_of/2
\end{verbatim}

\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{tokensV95WofV95W2} 
\begin{verbatim}
tokens_of/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{tokensV95WofV95W2}

\begin{verbatim}
tokens_of/2
\end{verbatim}

{\small \begin{verbatim}
INFO: reads a Prolog file to a slist of tokens

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{tokenV95WofV95W2} 
\begin{verbatim}
token_of/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{toldV95W0}

\begin{verbatim}
told/0
\end{verbatim}

{\small \begin{verbatim}
INFO: closes file opened by tell/1

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dbV95WsaveV95W2} 
\begin{verbatim}
db_save/2
\end{verbatim}

\item \ref{hashV95WsaveV95W2} 
\begin{verbatim}
hash_save/2
\end{verbatim}

\item \ref{makeV95WcompileableV95W2} 
\begin{verbatim}
make_compileable/2
\end{verbatim}

\item \ref{spawnV95W3} 
\begin{verbatim}
spawn/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{topcallV95W1}

\begin{verbatim}
topcall/1
\end{verbatim}

{\small \begin{verbatim}
INFO: calls arg 1 as if it were entered by the user at Prolog prompt

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{metacallV95W1} 
\begin{verbatim}
metacall/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bgV95W7} 
\begin{verbatim}
bg/7
\end{verbatim}

\item \ref{dcgV95WcallV95W4} 
\begin{verbatim}
dcg_call/4
\end{verbatim}

\item \ref{dcgV95WcallV95W5} 
\begin{verbatim}
dcg_call/5
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{toplevelV95W0}

\begin{verbatim}
toplevel/0
\end{verbatim}

{\small \begin{verbatim}
INFO: interactive toplevel Prolog loop

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{repeatV95W0} 
\begin{verbatim}
repeat/0
\end{verbatim}

\item \ref{topstepV95W1} 
\begin{verbatim}
topstep/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{topstepV95W1}

\begin{verbatim}
topstep/1
\end{verbatim}

{\small \begin{verbatim}
INFO: interactive toplevel Prolog step

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{ttyprinV95W1} 
\begin{verbatim}
ttyprin/1
\end{verbatim}

\item \ref{ttyprintV95W1} 
\begin{verbatim}
ttyprint/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{toplevelV95W0} 
\begin{verbatim}
toplevel/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{traceV95W0}

\begin{verbatim}
trace/0
\end{verbatim}

{\small \begin{verbatim}
INFO: trace all predicates when interpreted

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{spyV95W1} 
\begin{verbatim}
(spy)/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{traceV95W1}

\begin{verbatim}
trace/1
\end{verbatim}

{\small \begin{verbatim}
INFO: traces execution of a goal

\end{verbatim}}

\subsubsection{Predicate:} \label{trimV95WtermV95W4}

\begin{verbatim}
trim_term/4
\end{verbatim}

{\small \begin{verbatim}
INFO: trim_term(D,Filler,T,NewT) replaces subterms of T deeper than D with Filler

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{V61WV46WV46WV95W2} 
\begin{verbatim}
(=..)/2
\end{verbatim}

\item \ref{atomicV95W1} 
\begin{verbatim}
atomic/1
\end{verbatim}

\item \ref{floatV95W1} 
\begin{verbatim}
float/1
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\item \ref{varV95W1} 
\begin{verbatim}
var/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{truncateV95W2}

\begin{verbatim}
truncate/2
\end{verbatim}

{\small \begin{verbatim}
INFO: float to int function

EXAMPLE(S):

?-truncate(1.51,_A).
_A = 1;

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{integerV95W2} 
\begin{verbatim}
integer/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{tryV95WunlockV95WthreadV95WguardV95W1}

\begin{verbatim}
try_unlock_thread_guard/1
\end{verbatim}

{\small \begin{verbatim}
INFO: try to unlock a thread guard

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{tryV95WunlockV95WthreadV95WguardV95W2} 
\begin{verbatim}
try_unlock_thread_guard/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{tryV95WunlockV95WthreadV95WguardV95W2}

\begin{verbatim}
try_unlock_thread_guard/2
\end{verbatim}

{\small \begin{verbatim}
INFO: try to unlock a thread guard for a specified timeout

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{threadV95WtimedV95WwaitV95W2} 
\begin{verbatim}
thread_timed_wait/2
\end{verbatim}

\item \ref{unlockV95WthreadV95WguardV95W1} 
\begin{verbatim}
unlock_thread_guard/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{tryV95WunlockV95WthreadV95WguardV95W1} 
\begin{verbatim}
try_unlock_thread_guard/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{tstestV95W3}

\begin{verbatim}
tstest/3
\end{verbatim}

{\small \begin{verbatim}
INFO: (K,V,R): performs various tests with external terms

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WstoreV95WopV95W4} 
\begin{verbatim}
term_store_op/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{tsyncV95WopV95W3}

\begin{verbatim}
tsync_op/3
\end{verbatim}

{\small \begin{verbatim}
INFO: same as thread_operation(Op, MutexOrParam, ActionOrValue) various thread synchronization operations

\end{verbatim}}

\subsubsection{Predicate:} \label{ttyprinV95W1}

\begin{verbatim}
ttyprin/1
\end{verbatim}

{\small \begin{verbatim}
INFO: writes to terminal

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{topstepV95W1} 
\begin{verbatim}
topstep/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{ttyprintV95W1}

\begin{verbatim}
ttyprint/1
\end{verbatim}

{\small \begin{verbatim}
INFO: writes to terminal with a new line

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{hashV95WcompileV95W0} 
\begin{verbatim}
hash_compile/0
\end{verbatim}

\item \ref{quietmesV95W2} 
\begin{verbatim}
quietmes/2
\end{verbatim}

\item \ref{spyV95W1} 
\begin{verbatim}
(spy)/1
\end{verbatim}

\item \ref{topstepV95W1} 
\begin{verbatim}
topstep/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{unixV95W1}

\begin{verbatim}
unix/1
\end{verbatim}

{\small \begin{verbatim}
INFO: executes various Unix commands

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\item \ref{pcloseV95W1} 
\begin{verbatim}
pclose/1
\end{verbatim}

\item \ref{pcollectV95W2} 
\begin{verbatim}
pcollect/2
\end{verbatim}

\item \ref{popenV95W3} 
\begin{verbatim}
popen/3
\end{verbatim}

\item \ref{unixV95WaccessV95W2} 
\begin{verbatim}
unix_access/2
\end{verbatim}

\item \ref{unixV95WargcV95W1} 
\begin{verbatim}
unix_argc/1
\end{verbatim}

\item \ref{unixV95WargvV95W1} 
\begin{verbatim}
unix_argv/1
\end{verbatim}

\item \ref{unixV95WargvV95W2} 
\begin{verbatim}
unix_argv/2
\end{verbatim}

\item \ref{unixV95WcatV95W1} 
\begin{verbatim}
unix_cat/1
\end{verbatim}

\item \ref{unixV95WcdV95W1} 
\begin{verbatim}
unix_cd/1
\end{verbatim}

\item \ref{unixV95WforkV95W1} 
\begin{verbatim}
unix_fork/1
\end{verbatim}

\item \ref{unixV95WgetenvV95W2} 
\begin{verbatim}
unix_getenv/2
\end{verbatim}

\item \ref{unixV95WkillV95W2} 
\begin{verbatim}
unix_kill/2
\end{verbatim}

\item \ref{unixV95WpidV95W1} 
\begin{verbatim}
unix_pid/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{unixV95WaccessV95W2}

\begin{verbatim}
unix_access/2
\end{verbatim}

{\small \begin{verbatim}
INFO: checks if arg1 (a path+file) is accessible in arg 2 (integer) mode

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{unixV95W1} 
\begin{verbatim}
unix/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{unixV95WargcV95W1}

\begin{verbatim}
unix_argc/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets cmd line arg counter

EXAMPLE(S):

?-unix_argc(_A).
_A = 6;

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{unixV95W1} 
\begin{verbatim}
unix/1
\end{verbatim}

\item \ref{unixV95WargvV95W1} 
\begin{verbatim}
unix_argv/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{unixV95WargvV95W1}

\begin{verbatim}
unix_argv/1
\end{verbatim}

{\small \begin{verbatim}
INFO: gets the list of cmd line args from 1 to argc

EXAMPLE(S):

?-unix_argv(_A).
_A = [-h40000,-s2000,-t2000,-b40000,preds.pro];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{forV95W3} 
\begin{verbatim}
for/3
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\item \ref{unixV95WargcV95W1} 
\begin{verbatim}
unix_argc/1
\end{verbatim}

\item \ref{unixV95WargvV95W2} 
\begin{verbatim}
unix_argv/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{unixV95W1} 
\begin{verbatim}
unix/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{unixV95WargvV95W2}

\begin{verbatim}
unix_argv/2
\end{verbatim}

{\small \begin{verbatim}
INFO: gets a cmd line arg from 0 to argc

EXAMPLE(S):

?-unix_argv(0,_A).
_A = c:\bin\bp.exe;

no

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{unixV95W1} 
\begin{verbatim}
unix/1
\end{verbatim}

\item \ref{unixV95WargvV95W1} 
\begin{verbatim}
unix_argv/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{unixV95WcatV95W1}

\begin{verbatim}
unix_cat/1
\end{verbatim}

{\small \begin{verbatim}
INFO: prints a file to user terminal

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV58WV61WV95W2} 
\begin{verbatim}
(=:=)/2
\end{verbatim}

\item \ref{fcloseV95W1} 
\begin{verbatim}
fclose/1
\end{verbatim}

\item \ref{fgetcV95W2} 
\begin{verbatim}
fgetc/2
\end{verbatim}

\item \ref{fopenV95W3} 
\begin{verbatim}
fopen/3
\end{verbatim}

\item \ref{forV95W3} 
\begin{verbatim}
for/3
\end{verbatim}

\item \ref{fsizeV95W2} 
\begin{verbatim}
fsize/2
\end{verbatim}

\item \ref{putV95WcodeV95W1} 
\begin{verbatim}
put_code/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{unixV95W1} 
\begin{verbatim}
unix/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{unixV95WcdV95W1}

\begin{verbatim}
unix_cd/1
\end{verbatim}

{\small \begin{verbatim}
INFO: changes local dir to arg 1

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{cdV95W1} 
\begin{verbatim}
cd/1
\end{verbatim}

\item \ref{unixV95W1} 
\begin{verbatim}
unix/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{unixV95WforkV95W1}

\begin{verbatim}
unix_fork/1
\end{verbatim}

{\small \begin{verbatim}
INFO: starts child process with Unix fork

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{unixV95W1} 
\begin{verbatim}
unix/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{unixV95WgetenvV95W2}

\begin{verbatim}
unix_getenv/2
\end{verbatim}

{\small \begin{verbatim}
INFO: gets an environment variable

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{detectV95WuserV95W1} 
\begin{verbatim}
detect_user/1
\end{verbatim}

\item \ref{unixV95W1} 
\begin{verbatim}
unix/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{unixV95WkillV95W2}

\begin{verbatim}
unix_kill/2
\end{verbatim}

{\small \begin{verbatim}
INFO: sends signal arg 1 to process with pid arg 2

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{unixV95W1} 
\begin{verbatim}
unix/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{unixV95WpidV95W1}

\begin{verbatim}
unix_pid/1
\end{verbatim}

{\small \begin{verbatim}
INFO: returns process id of current process

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{unixV95W1} 
\begin{verbatim}
unix/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{unlockV95WthreadV95WguardV95W1}

\begin{verbatim}
unlock_thread_guard/1
\end{verbatim}

{\small \begin{verbatim}
INFO: unlocks thread guard

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{endV95WcriticalV95W0} 
\begin{verbatim}
end_critical/0
\end{verbatim}

\item \ref{synchronizeV95WonV95W3} 
\begin{verbatim}
synchronize_on/3
\end{verbatim}

\item \ref{tryV95WunlockV95WthreadV95WguardV95W2} 
\begin{verbatim}
try_unlock_thread_guard/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{untrailV95WtoV95W1}

\begin{verbatim}
untrail_to/1
\end{verbatim}

{\small \begin{verbatim}
INFO: unwinds the trail up to a choice point

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V36WprocessV95WcatchV95W3} 
\begin{verbatim}
$process_catch/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{updateV95WcurrentV95WtermV95W2}

\begin{verbatim}
update_current_term/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Iterator,NewTerm): replaces current term of an iterator

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{termV95WstoreV95WopV95W4} 
\begin{verbatim}
term_store_op/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{userV95WerrorV95W2}

\begin{verbatim}
user_error/2
\end{verbatim}

{\small \begin{verbatim}
INFO: writes basic error message and fail

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{findV95WfileV95W2} 
\begin{verbatim}
find_file/2
\end{verbatim}

\item \ref{notV95W1} 
\begin{verbatim}
(not)/1
\end{verbatim}

\item \ref{seeV95W1} 
\begin{verbatim}
see/1
\end{verbatim}

\item \ref{seeV95WatV95W1} 
\begin{verbatim}
see_at/1
\end{verbatim}

\item \ref{spyV95W1} 
\begin{verbatim}
(spy)/1
\end{verbatim}

\item \ref{tabV95W1} 
\begin{verbatim}
tab/1
\end{verbatim}

\item \ref{tellV95W1} 
\begin{verbatim}
tell/1
\end{verbatim}

\item \ref{tellV95WatV95W1} 
\begin{verbatim}
tell_at/1
\end{verbatim}

\item \ref{tellV95WatV95WendV95W1} 
\begin{verbatim}
tell_at_end/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{varV95W1}

\begin{verbatim}
var/1
\end{verbatim}

{\small \begin{verbatim}
INFO: true if currently an unbound variable

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{V61WV46WV46WV95W2} 
\begin{verbatim}
(=..)/2
\end{verbatim}

\item \ref{codesV95WwordsV95W2} 
\begin{verbatim}
codes_words/2
\end{verbatim}

\item \ref{dyncoV95W1} 
\begin{verbatim}
dynco/1
\end{verbatim}

\item \ref{hashV95WgetV95W2} 
\begin{verbatim}
hash_get/2
\end{verbatim}

\item \ref{interactiveV95W1} 
\begin{verbatim}
interactive/1
\end{verbatim}

\item \ref{lengthV95W2} 
\begin{verbatim}
length/2
\end{verbatim}

\item \ref{newV95WthreadV95WguardV95W1} 
\begin{verbatim}
new_thread_guard/1
\end{verbatim}

\item \ref{toV95WwordsV95W2} 
\begin{verbatim}
to_words/2
\end{verbatim}

\item \ref{trimV95WtermV95W4} 
\begin{verbatim}
trim_term/4
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{variantV95WofV95W2}

\begin{verbatim}
variant_of/2
\end{verbatim}

{\small \begin{verbatim}
INFO: checks if args are the same up to a renaming of vars

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{subsumesV95WchkV95W2} 
\begin{verbatim}
subsumes_chk/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{varsV95WofV95W2}

\begin{verbatim}
vars_of/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Term,Vars): lists free vars of a term

EXAMPLE(S):

?-vars_of(f(_A,t(_A,_B,_C),_C),_D).
_A = _x149043;
_B = _x149048;
_C = _x149045;
_D = [_x149043,_x149048,_x149045];

no

\end{verbatim}}

\subsubsection{Predicate:} \label{vgetV95W2}

\begin{verbatim}
vget/2
\end{verbatim}

{\small \begin{verbatim}
INFO: gets a VSHARE declared C data object in a term like int(N),F/N or var(V)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{arrayV95WgetV95W3} 
\begin{verbatim}
array_get/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{vget0V95W2}

\begin{verbatim}
vget0/2
\end{verbatim}

{\small \begin{verbatim}
INFO: gets the type and value of a C word

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{arrayV95Wget0V95W3} 
\begin{verbatim}
array_get0/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{bbgcV95WstatusV95W1} 
\begin{verbatim}
bbgc_status/1
\end{verbatim}

\item \ref{currentV95WdbV95W1} 
\begin{verbatim}
current_db/1
\end{verbatim}

\item \ref{dbV95WratioV95W1} 
\begin{verbatim}
db_ratio/1
\end{verbatim}

\item \ref{defaultV95WthisV95WportV95W1} 
\begin{verbatim}
default_this_port/1
\end{verbatim}

\item \ref{dyn2statV95W2} 
\begin{verbatim}
dyn2stat/2
\end{verbatim}

\item \ref{gcV95WstatusV95W1} 
\begin{verbatim}
gc_status/1
\end{verbatim}

\item \ref{getV95WbpV95WerrorV95W4} 
\begin{verbatim}
get_bp_error/4
\end{verbatim}

\item \ref{getV95WloadV95WmethodV95W1} 
\begin{verbatim}
get_load_method/1
\end{verbatim}

\item \ref{includeV95W1} 
\begin{verbatim}
include/1
\end{verbatim}

\item \ref{quietV95W1} 
\begin{verbatim}
quiet/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{vgetV95WintV95W2}

\begin{verbatim}
vget_int/2
\end{verbatim}

{\small \begin{verbatim}
INFO: gets a VSHARE defined int C variable to a 28 bit int

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{vgetV95Wint0V95W2} 
\begin{verbatim}
vget_int0/2
\end{verbatim}

\item \ref{vreadV95W2} 
\begin{verbatim}
vread/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{getV95WlinenoV95W1} 
\begin{verbatim}
get_lineno/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{vgetV95Wint0V95W2}

\begin{verbatim}
vget_int0/2
\end{verbatim}

{\small \begin{verbatim}
INFO: gets from arg 1 - an int* C variable - to a 28 bit int

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{vgetV95WintV95W2} 
\begin{verbatim}
vget_int/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{viV95W0}

\begin{verbatim}
vi/0
\end{verbatim}

{\small \begin{verbatim}
INFO: calls vi editor on last compiled file

\end{verbatim}}

\subsubsection{Predicate:} \label{vreadV95W2}

\begin{verbatim}
vread/2
\end{verbatim}

{\small \begin{verbatim}
INFO: reads HDEFI or HDEFS defined C constant into a Prolog integer or atom

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{detectV95WipV95WaddrV95W1} 
\begin{verbatim}
detect_ip_addr/1
\end{verbatim}

\item \ref{hasV95WthreadsV95W0} 
\begin{verbatim}
has_threads/0
\end{verbatim}

\item \ref{hostnameV95W1} 
\begin{verbatim}
hostname/1
\end{verbatim}

\item \ref{staticV95WprologV95WflagV95W2} 
\begin{verbatim}
static_prolog_flag/2
\end{verbatim}

\item \ref{vgetV95WintV95W2} 
\begin{verbatim}
vget_int/2
\end{verbatim}

\item \ref{vsetV95WintV95W2} 
\begin{verbatim}
vset_int/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{vsetV95W2}

\begin{verbatim}
vset/2
\end{verbatim}

{\small \begin{verbatim}
INFO: sets a VSHARE declared C data object in a term like int(N),F/N or var(V)

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{arrayV95WsetV95W3} 
\begin{verbatim}
array_set/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dbV95WratioV95W1} 
\begin{verbatim}
db_ratio/1
\end{verbatim}

\item \ref{dyn2statV95W2} 
\begin{verbatim}
dyn2stat/2
\end{verbatim}

\item \ref{dynbbgcV95W0} 
\begin{verbatim}
dynbbgc/0
\end{verbatim}

\item \ref{nobbgcV95W0} 
\begin{verbatim}
nobbgc/0
\end{verbatim}

\item \ref{quietV95W1} 
\begin{verbatim}
quiet/1
\end{verbatim}

\item \ref{setV95WbpV95WerrorV95W4} 
\begin{verbatim}
set_bp_error/4
\end{verbatim}

\item \ref{setV95WdbV95W1} 
\begin{verbatim}
set_db/1
\end{verbatim}

\item \ref{setV95WloadV95WmethodV95W1} 
\begin{verbatim}
set_load_method/1
\end{verbatim}

\item \ref{setV95WthisV95WportV95W1} 
\begin{verbatim}
set_this_port/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{vsetV95WintV95W2}

\begin{verbatim}
vset_int/2
\end{verbatim}

{\small \begin{verbatim}
INFO: sets a VSHARE defined int C variable to a 28 bit int

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{vreadV95W2} 
\begin{verbatim}
vread/2
\end{verbatim}

\item \ref{vsetV95Wint0V95W2} 
\begin{verbatim}
vset_int0/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{setV95WlinenoV95W1} 
\begin{verbatim}
set_lineno/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{vsetV95Wint0V95W2}

\begin{verbatim}
vset_int0/2
\end{verbatim}

{\small \begin{verbatim}
INFO: sets arg 1 - an int* C variable - to a 28 bit int

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{vsetV95WintV95W2} 
\begin{verbatim}
vset_int/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{waitV95WforV95W2}

\begin{verbatim}
wait_for/2
\end{verbatim}

{\small \begin{verbatim}
INFO: wait_for(Term,Constraint) waits for a term on the blackboard, such that Constraint holds

\end{verbatim}}

\subsubsection{Predicate:} \label{whileV95W2}

\begin{verbatim}
while/2
\end{verbatim}

{\small \begin{verbatim}
INFO: (Cond,Goal): findall variant which explores alternative answers for Goal, while Cond holds, 

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{findV95WwhileV95W4} 
\begin{verbatim}
find_while/4
\end{verbatim}

\item \ref{takeV95WatV95WmostV95W2} 
\begin{verbatim}
take_at_most/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{wordsV95WcodeV95W2}

\begin{verbatim}
words_code/2
\end{verbatim}

{\small \begin{verbatim}
INFO: generates a code ready to print, one a t a time with put/1 from a list of words

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{atomV95WcodesV95W2} 
\begin{verbatim}
atom_codes/2
\end{verbatim}

\item \ref{memberV95W2} 
\begin{verbatim}
member/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{codesV95WwordsV95W2} 
\begin{verbatim}
codes_words/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{writeV95W1}

\begin{verbatim}
write/1
\end{verbatim}

{\small \begin{verbatim}
INFO: writes to current output stream set with tell/1, defaults to <user> - Prolog's stdio

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{aproposV95W1} 
\begin{verbatim}
apropos/1
\end{verbatim}

\item \ref{infoV95W1} 
\begin{verbatim}
info/1
\end{verbatim}

\item \ref{listV95WenginesV95W0} 
\begin{verbatim}
list_engines/0
\end{verbatim}

\item \ref{listingV95W2} 
\begin{verbatim}
listing/2
\end{verbatim}

\item \ref{ppV95WtermV95W1} 
\begin{verbatim}
pp_term/1
\end{verbatim}

\item \ref{sdebugV95W1} 
\begin{verbatim}
sdebug/1
\end{verbatim}

\item \ref{showV95WdefaultsV95W0} 
\begin{verbatim}
show_defaults/0
\end{verbatim}

\item \ref{showV95WinfoV95W2} 
\begin{verbatim}
show_info/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{writeV95WcharsV95W1}

\begin{verbatim}
write_chars/1
\end{verbatim}

{\small \begin{verbatim}
INFO: writes a list of ascii codes

EXAMPLE(S):

?-write_chars([104,101,108,108,111]).
hello
yes

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{putV95WcodeV95W1} 
\begin{verbatim}
put_code/1
\end{verbatim}

\item \ref{writeV95WcharsV95W1} 
\begin{verbatim}
write_chars/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{writeV95WcharsV95W1} 
\begin{verbatim}
write_chars/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{writeV95WtermV95WtoV95WcharsV95W2}

\begin{verbatim}
write_term_to_chars/2
\end{verbatim}

{\small \begin{verbatim}
INFO: writes a term to a list of char codes

EXAMPLE(S):

?-write_term_to_chars(f(_A,_A,_B,_B),_C).
_A = _x149372;
_B = _x149374;
_C = [102,40,95,120,49,52,57,51,55,50,44,95,120,49,52,57,51,55,50,44,95,120,49,52,57,51,55,52,44,95,120,49,52,57,51,55,52,41];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{writeV95WtermV95WtoV95WcharsV95W3} 
\begin{verbatim}
write_term_to_chars/3
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{writeV95WtermV95WtoV95WcharsV95W3}

\begin{verbatim}
write_term_to_chars/3
\end{verbatim}

{\small \begin{verbatim}
INFO: writes a term with variables names to a list of char codes

EXAMPLE(S):

?-write_term_to_chars(f(_A,_B),[X = _A,Y = _B],_C).
_A = _x149549;
_B = _x149550;
_C = [102,40,39,88,39,44,39,89,39,41];

no

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{swriteV95W3} 
\begin{verbatim}
swrite/3
\end{verbatim}

\item \ref{writeV95WtermV95WtoV95WcharsV95W2} 
\begin{verbatim}
write_term_to_chars/2
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{writeV95WwordsV95W1}

\begin{verbatim}
write_words/1
\end{verbatim}

{\small \begin{verbatim}
INFO: write list of words to a space separated line

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{errmesV95W2} 
\begin{verbatim}
errmes/2
\end{verbatim}

\item \ref{nonvarV95W1} 
\begin{verbatim}
nonvar/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{writeqV95W1}

\begin{verbatim}
writeq/1
\end{verbatim}

{\small \begin{verbatim}
INFO: variant of write which quotes if needed, so that term is read back correctly/1

\end{verbatim}}

\subsubsection{Predicate:} \label{xV95WabolishV95W1}

\begin{verbatim}
x_abolish/1
\end{verbatim}

{\small \begin{verbatim}
INFO: db hook, deletes all matching clauses and unmarks the clause as dynamic

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\item \ref{mapV95WclearV95W1} 
\begin{verbatim}
map_clear/1
\end{verbatim}

\item \ref{mapV95WgetV95W3} 
\begin{verbatim}
map_get/3
\end{verbatim}

\item \ref{mapV95WrmV95W2} 
\begin{verbatim}
map_rm/2
\end{verbatim}

\item \ref{xV95WretractallV95W1} 
\begin{verbatim}
x_retractall/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{abolishV95W1} 
\begin{verbatim}
abolish/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xV95WassertaV95W1}

\begin{verbatim}
x_asserta/1
\end{verbatim}

{\small \begin{verbatim}
INFO: db hook, adds a clause to be first in a predicate definition

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V35WV35WV95W1} 
\begin{verbatim}
(##)/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{assertaV95W1} 
\begin{verbatim}
asserta/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xV95WassertzV95W1}

\begin{verbatim}
x_assertz/1
\end{verbatim}

{\small \begin{verbatim}
INFO: db hook, adds a clause to be last in a predicate definition

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V35WV35WV95W1} 
\begin{verbatim}
(##)/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{assertzV95W1} 
\begin{verbatim}
assertz/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xV95WclauseV95W2}

\begin{verbatim}
x_clause/2
\end{verbatim}

{\small \begin{verbatim}
INFO: db hook, clause(H,B) generates a clause with head matching H and body B

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{clauseV95W2} 
\begin{verbatim}
clause/2
\end{verbatim}

\item \ref{xV95WlistingV95W1} 
\begin{verbatim}
x_listing/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xV95WconsultV95W1}

\begin{verbatim}
x_consult/1
\end{verbatim}

{\small \begin{verbatim}
INFO: db hook, consults with possible duplication of clauses

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{foreachV95W2} 
\begin{verbatim}
foreach/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{consultV95W1} 
\begin{verbatim}
consult/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xV95WdynamicV95W1}

\begin{verbatim}
x_dynamic/1
\end{verbatim}

{\small \begin{verbatim}
INFO: db hook, states that a predicate can be updated

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{dynamicV95W1} 
\begin{verbatim}
(dynamic)/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xV95WgcV95W0}

\begin{verbatim}
x_gc/0
\end{verbatim}

{\small \begin{verbatim}
INFO: db hook, recovers memory used by the database

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{callV95WifdefV95W2} 
\begin{verbatim}
call_ifdef/2
\end{verbatim}

\item \ref{ctimeV95W1} 
\begin{verbatim}
ctime/1
\end{verbatim}

\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\item \ref{quietV95W1} 
\begin{verbatim}
quiet/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xV95WisV95WdynamicV95W1}

\begin{verbatim}
x_is_dynamic/1
\end{verbatim}

{\small \begin{verbatim}
INFO: db hook, checks if dynamic

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{isV95WdynamicV95W1} 
\begin{verbatim}
is_dynamic/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xV95WlistingV95W0}

\begin{verbatim}
x_listing/0
\end{verbatim}

{\small \begin{verbatim}
INFO: db hook, lists given predicate if in current database

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{hashV95WgetV95W2} 
\begin{verbatim}
hash_get/2
\end{verbatim}

\item \ref{printlnV95W1} 
\begin{verbatim}
println/1
\end{verbatim}

\item \ref{xV95WlistingV95W1} 
\begin{verbatim}
x_listing/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{listingV95W0} 
\begin{verbatim}
listing/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xV95WlistingV95W1}

\begin{verbatim}
x_listing/1
\end{verbatim}

{\small \begin{verbatim}
INFO: lists predicate F of arity N if in current database

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{functorV95W3} 
\begin{verbatim}
functor/3
\end{verbatim}

\item \ref{ppV95WclauseV95W1} 
\begin{verbatim}
pp_clause/1
\end{verbatim}

\item \ref{xV95WclauseV95W2} 
\begin{verbatim}
x_clause/2
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{listingV95W1} 
\begin{verbatim}
listing/1
\end{verbatim}

\item \ref{xV95WlistingV95W0} 
\begin{verbatim}
x_listing/0
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xV95WprofileV95W0}

\begin{verbatim}
x_profile/0
\end{verbatim}

{\small \begin{verbatim}
INFO: db hook, shows the result of profiling compiled predicates

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{failV95W0} 
\begin{verbatim}
fail/0
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\item \ref{mapV95WgetV95W3} 
\begin{verbatim}
map_get/3
\end{verbatim}

\item \ref{printlnV95W1} 
\begin{verbatim}
println/1
\end{verbatim}

\item \ref{quietV95W1} 
\begin{verbatim}
quiet/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xV95WretractV95W1}

\begin{verbatim}
x_retract/1
\end{verbatim}

{\small \begin{verbatim}
INFO: db hook, backtracks over deleting matching clauses

\end{verbatim}}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{retractV95W1} 
\begin{verbatim}
retract/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xV95WretractallV95W1}

\begin{verbatim}
x_retractall/1
\end{verbatim}

{\small \begin{verbatim}
INFO: db hook, deletes all matching clauses

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V35WV35WV95W1} 
\begin{verbatim}
(##)/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{retractallV95W1} 
\begin{verbatim}
retractall/1
\end{verbatim}

\item \ref{xV95WabolishV95W1} 
\begin{verbatim}
x_abolish/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xV95WtraceV95W1}

\begin{verbatim}
x_trace/1
\end{verbatim}

{\small \begin{verbatim}
INFO: traces and profiles predicates, in combination with x_profile

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{xV95WtracedV95WcallV95W1} 
\begin{verbatim}
x_traced_call/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xV95WtraceV95W2}

\begin{verbatim}
x_trace/2
\end{verbatim}

{\small \begin{verbatim}
INFO: db hook, internal

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{isV95WcompiledV95W1} 
\begin{verbatim}
is_compiled/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xV95WtracedV95WcallV95W1}

\begin{verbatim}
x_traced_call/1
\end{verbatim}

{\small \begin{verbatim}
INFO: traces calls if compile-time x_trace triggers it

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{V61WV95W2} 
\begin{verbatim}
(=)/2
\end{verbatim}

\item \ref{ctimeV95W1} 
\begin{verbatim}
ctime/1
\end{verbatim}

\item \ref{isV95W2} 
\begin{verbatim}
(is)/2
\end{verbatim}

\item \ref{mapV95WgetV95W3} 
\begin{verbatim}
map_get/3
\end{verbatim}

\item \ref{mapV95WputV95W3} 
\begin{verbatim}
map_put/3
\end{verbatim}

\item \ref{quietV95W1} 
\begin{verbatim}
quiet/1
\end{verbatim}

\end{itemize}
\paragraph{Is called from:} 
\begin{itemize}
\item \ref{xV95WtraceV95W1} 
\begin{verbatim}
x_trace/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xloadV95W1}

\begin{verbatim}
xload/1
\end{verbatim}

{\small \begin{verbatim}
INFO: xload(File) loads clauses to the current database, from a binary File

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{callV95WifdefV95W2} 
\begin{verbatim}
call_ifdef/2
\end{verbatim}

\item \ref{consultV95W1} 
\begin{verbatim}
consult/1
\end{verbatim}

\item \ref{namecatV95W4} 
\begin{verbatim}
namecat/4
\end{verbatim}

\item \ref{quietV95W1} 
\begin{verbatim}
quiet/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{xsaveV95W1}

\begin{verbatim}
xsave/1
\end{verbatim}

{\small \begin{verbatim}
INFO: xsave(File) saves all the clauses of the current database to a binary File

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{dbV95WsaveV95W1} 
\begin{verbatim}
db_save/1
\end{verbatim}

\item \ref{namecatV95W4} 
\begin{verbatim}
namecat/4
\end{verbatim}

\item \ref{quietV95W1} 
\begin{verbatim}
quiet/1
\end{verbatim}

\end{itemize}

\subsubsection{Predicate:} \label{V126WV95W1}

\begin{verbatim}
~ /1
\end{verbatim}

{\small \begin{verbatim}
INFO: short hand for reconsult

\end{verbatim}}
\paragraph{Calls:} 
\begin{itemize}
\item \ref{coV95W1} 
\begin{verbatim}
co/1
\end{verbatim}

\end{itemize}

